XML Verzeichnis Editor
Noops
- xml
Hallo,
Kennt jemand ein Programm mit dem man ein Ordner als Verzeichnis in einer XML Datei speichern kann. Sollte etwa so aussehen:
Im Ordner sind massig Dateien: 0001.jpg, 0002.jpg, 0003.jpg ...
Und die XML Datei soll einfach eine Liste mit den ganzen Namen schreiben:
<Ordner>
<name>0001.jpg</name>
<name>0002.jpg ...
</Ordner>
Also ganz simple.
Vielen Dank schon mal!!!
Hi Noops!
Kennt jemand ein Programm mit dem man ein Ordner als Verzeichnis in einer XML Datei speichern kann.
Eine Sicherheitskraft einzusperren finde ich nicht gut!
Und warum soll er dann auch noch 'Verzeichnis' heißen?
XML ist eh überbewertet!
off:PP
Ok, ich wie wärs damit, wenn wir den Ordner ganz lieb fragen ob er die Namen seiner Dateien für mich in eine XML Datei schreiben könnte.
XML ist toll! :)
Hi!
Ok, ich wie wärs damit, wenn wir den Ordner ganz lieb fragen ob er die Namen seiner Dateien für mich in eine XML Datei schreiben könnte.
[x] dafür!
XML ist toll! :)
Nein, nicht immer:(
off:PP
Hallo Noops,
Kennt jemand ein Programm mit dem man ein Ordner als Verzeichnis in einer XML Datei speichern kann. Sollte etwa so aussehen:
Im Ordner sind massig Dateien: 0001.jpg, 0002.jpg, 0003.jpg ...
Und die XML Datei soll einfach eine Liste mit den ganzen Namen schreiben:
<Ordner>
<name>0001.jpg</name>
<name>0002.jpg ...
</Ordner>
Ansatz unter Nutzung von XSLT/XPath 2.0
[speziell unter Nutzung der neuen XSLT-Funktion unparsed-text() sowie der neuen XPath-Funktion fn:tokenize()]:
1. auf der Konsole in den Ordner wechseln und dort die Namen der Dateien zeilenweise in eine Textdatei schreiben:
dir *.jpg /B > ordner.txt
2. zur Transformation dieser ordner.txt nach ordner.xml eine ordner.xsl mit diesem Inhalt ablegen:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="fn xs">
<xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes"/>
<xsl:variable name="text" select="unparsed-text('ordner.txt','ISO-8859-1')"/>
<xsl:template match="/">
<Ordner>
<xsl:for-each select="fn:tokenize($text,'(\r)|(\n)|(\r\n)')">
<xsl:if test="fn:string-length(.) gt 0">
<name><xsl:value-of select="."/></name>
</xsl:if>
</xsl:for-each>
</Ordner>
</xsl:template>
</xsl:stylesheet>
3. Transformation mit einem XSLT 2.0-Prozessor ausführen, z. B. mit Saxon:
java -jar x:\Pfad\zu\Saxon9\Java\saxon9.jar -o:ordner.xml -xsl:ordner.xsl -s:dummy.xml
-> Ergebnis ist die Ausgabedatei ordner.xml mit der gesuchten Struktur. (Die dummy.xml kann aus einem leeren Wurzelelement, <root/> bestehen, alternativ mittels Kernow arbeiten und dort den Karteireiter "Standalone" bzw. "Eigenständiges" wählen.)
Grüße,
Thomas