Hallo,
ich stehe vor folgendem Problem. Ich bekomme von einem Kunden eine XML Datei die folgendes Element aufweisst:
Alles anzeigen
Das ganze möchte ich in eine CSV Datei wandeln. Mit folgendem XSL Code komme ich schon ziemlich an alle Elemente
Alles anzeigen
Allerdings benötige ich noch die jeweiligen laufenden Nummern "info_nr" sowie "absatz_nr". Wenn ich mir nur deren Inhalt mit
ausgebe, erhalte ich auch nochmal alle darin enthaltenden Elemente. Allerdings brauche ich ja nur den Zahlenwert.
Hat da jemand eine Idee? Vielleicht blicke ich auch einfach gerade nicht durch.
Danke!
ich stehe vor folgendem Problem. Ich bekomme von einem Kunden eine XML Datei die folgendes Element aufweisst:
Quellcode
- <weitere_information>
- <nummer>xxxxxxxx</nummer>
- <info_nr>1
- <absatz_nr>1
- <gueltig_von>2004-11-22</gueltig_von>
- <gueltig_bis>2010-12-31</gueltig_bis>
- <info_txt>Information 1 Absatz 1</info_txt>
- </absatz_nr>
- </info_nr>
- <info_nr>2
- <absatz_nr>1
- <gueltig_von>2005-05-30</gueltig_von>
- <gueltig_bis>2006-08-04</gueltig_bis>
- <info_txt>Information 2 Absatz 1</info_txt>
- </absatz_nr>
- <absatz_nr>2
- <gueltig_von>2005-12-02</gueltig_von>
- <gueltig_bis>2006-08-04</gueltig_bis>
- <info_txt>Information 1 Absatz 3</info_txt>
- </absatz_nr>
- <absatz_nr>3
- <gueltig_von>2006-07-12</gueltig_von>
- <gueltig_bis>2007-01-06</gueltig_bis>
- <info_txt>Information 1 Absatz 3</info_txt>
- </absatz_nr>
- </info_nr>
- </weitere_information>
Das ganze möchte ich in eine CSV Datei wandeln. Mit folgendem XSL Code komme ich schon ziemlich an alle Elemente
Quellcode
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:output method="text" indent="yes" media-type="text/plain" encoding="latin1"/>
- <xsl:template match="/">
- <xsl:for-each select="weitere_information">
- <xsl:variable name="nr"><xsl:value-of select="nummer"/></xsl:variable>
- <xsl:for-each select="info_nr">
- <xsl:for-each select="absatz_nr">
- <xsl:value-of select="$nr"/>;;;"<xsl:value-of select="gueltig_von"/>";"<xsl:value-of select="gueltig_bis"/>";"<xsl:value-of select="info_txt"/>";
- </xsl:for-each>
- </xsl:for-each>
- </xsl:for-each>
- </xsl:template>
- </xsl:stylesheet>
Allerdings benötige ich noch die jeweiligen laufenden Nummern "info_nr" sowie "absatz_nr". Wenn ich mir nur deren Inhalt mit
ausgebe, erhalte ich auch nochmal alle darin enthaltenden Elemente. Allerdings brauche ich ja nur den Zahlenwert.
Hat da jemand eine Idee? Vielleicht blicke ich auch einfach gerade nicht durch.
Danke!