Thomas Meinike: XML zu CSV konvertieren

Beitrag lesen

Hallo,

Hab mal einegrundsätzliche Frage.
Ist es möglich aus einer XML Datei eine
CSV Datei zu schreiben?

Ja, via XSLT mit der Ausgabemethode text.

Wie würde das grundsätzlich funktionieren?

Beispiel:

daten.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

<daten>
  <datensatz>
    <x>1</x><y>1</y>
  </datensatz>
  <datensatz>
    <x>2</x><y>4</y>
  </datensatz>
  <datensatz>
    <x>3</x><y>9</y>
  </datensatz>
</daten>

daten.xsl

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output
    method="text"
    encoding="ISO-8859-1"
    media-type="text/plain"
/>

<xsl:template match="/">

<xsl:for-each select="daten/datensatz">
    <xsl:value-of select="x"/>xsl:text,</xsl:text><xsl:value-of select="y"/>xsl:text&#13;&#10;</xsl:text>
  </xsl:for-each>

</xsl:template>
</xsl:stylesheet>

Ergebnis daten.csv mit SAXON:

saxon -o daten.csv daten.xml daten.xsl

1,1
2,4
3,9

MfG, Thomas