TWXml2Csv 
Mit diesem XML Transformator können alle XML Dateien mit Hilfe einer XSLT oder XSL Datei die frei angepasst werden kann, in ein gewünschtes Ausgabe-Format wie Komma separiert (csv),
Text (txt), HTML ... oder wie auch immer umgewandelt werden. Oder diese Tool kann auch zum Testen von selbsterstellten XSL Dateien verwendet werden.
Installation
Java Version 1.6 muss mind. installiert sein.
1. Download der twxml2csv-1.2.0-standard.jar (siehe weiter unten) mit rechts Klick und Speichern unter.
Das Jar ist ein selbstausführendes Jar, also die Datei einfach mit einen Doppelklick starten und wie im Setup-Dialog angegeben den Setup-Prozess durchführen. Sollte nach einem
Doppelklick kein Setup-Prozess starten, dann in das Verzeichnis mit der Konsole gehen und
java -jar twxml2csv-1.2.0-standard.jar
ausführen. Der Setup-Prozess startet dann automatisch mit:
2. Nach der Installation im Installationsverzeichnis die start-twxml2csv.bat ausführen, oder über den Menüeintrag unter Programme TWXml2Csv starten. Es startet die
TWXml2Csv Anwendung wie folgt:
3. Die Quell XML Datei die umgewandelt werden soll auswählen.
4. Die XSLT Datei mit dem zu formenden Inhalt auswählen.
5. Die Ausgabe Datei auswählen oder eingeben.
6. Auf Transform klicken. Die Ausgabe Datei wird erzeugt und auch angezeigt in einem Fenster:
Da das TWXml2Csv Programm ein JAVA Programm ist läuft es Plattformunabhängig auf allen Betriebssystemen wo Java >= 1.6 installiert ist wie alle Windows Versionen wie z.b. Vista, XP,
NT, 2000, ME, 98, 95 ... aber auch Mac, Linux, Unix ... Betriebssystemen.
Das Programm kann auch von Scripten ohne GUI über die Komandozeile aufgerufen werden. Die Parameter:
java -classpath .;twxml2csv1.1.jar de.wenzlaff.xmltransform.parser.Xml2Csv XMLDateiname XSLDateiname CSVErgebnisdateiname
z.B.:
java -classpath .;twxml2csv1.1.jar de.wenzlaff.xmltransform.parser.Xml2Csv eingabe.xml csv.xsl out.csv
Eine XST Datei kann für die Umwandlung nach CVS so aussehen. Sie kann aber auch wie gewünscht angepasst werden:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="iso-8859-1"/>
<xsl:strip-space elements="*" />
<xsl:template match="/*/child::*">
<xsl:for-each select="child::*">
<xsl:if test="position() != last()"><xsl:value-of select="normalize-space(.)"/>;</xsl:if>
<xsl:if test="position() = last()"><xsl:value-of select="normalize-space(.)"/>;</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Die Quell XML die Umgewandelt wird kann z.B. so aussehen:
<?xml version="1.0"?>
<daten>
<!-- test.xml Testdatei zum umformen nach csv mit xmltocsv -->
<name id="idausnamen" aber="keine Attribute">
<name>1. Thomas</name>
<wert-zwei>1b.</wert-zwei>
</name>
<ergebnis id="1">
<wert>2.</wert>
<nachname>Wenzlaff</nachname>
<testtag>der 3. Tag</testtag>
</ergebnis>
<ergebnis id="2">
<wert>3.</wert>
<wert-drei>3b.</wert-drei>
</ergebnis>
<ergebnis id="3" aber="keine Attribute 22">
<wert>4.</wert>
<wert-drei>5.</wert-drei>
</ergebnis>
<ergebnis id="4">
<wert>6.</wert>
</ergebnis>
</daten>
Das Ergebniss würde dann wie folgt sein:
1. Thomas;1b.;2.;Wenzlaff;der 3. Tag;3.;3b.;4.;5.;6.;
Oder soll noch jeder Wert in Anführungszeichen und jeder Eintrag in eine neue Zeile, dann dies XSL verwenden:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="iso-8859-1"/>
<xsl:strip-space elements="*" />
<xsl:template match="/*/child::*">
<xsl:for-each select="child::*">
<xsl:if test="position() != last()">"<xsl:value-of select="normalize-space(.)"/>",</xsl:if>
<xsl:if test="position() = last()">"<xsl:value-of select="normalize-space(.)"/>"<xsl:text>
</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Das Ergebniss würde dann wie folgt sein:
"1. Thomas","1b."
"2.","Wenzlaff","der 3. Tag"
"3.","3b."
"4.","5."
"6."
[Spende] -
[Top] -
[Home] -
[Tools] -
[Text] -
[Suche] -
[Kontakt]
Copyright © 2012 by Thomas Wenzlaff. Alle Rechte vorbehalten. http://www.wenzlaff.de