XML->XSL->CSV
Résolu
apple31
Messages postés
25
Statut
Membre
-
apple31 Messages postés 25 Statut Membre -
apple31 Messages postés 25 Statut Membre -
Bonjour,
J'ai un petit problème pour transformer un fichier XML en CSV avec XSL
J'ai un fichier XML qui a ce format :
Je voudrait faire un fichier XSL qui transforme ce fichier XML en fichier CSV au format suivant:
Colonne 1, Colonne 2, colonne 3
X1,X2,X3
Y1,Y2,Y3
voici le fichier XSL que j'ai créé :
Mais voici ce que ça me donne :
Colonne 1, Colonne 2, colonne 3
X1,X2,X3,Y1,Y2,Y3,
X1,X2,X3,Y1,Y2,Y3,
Est ce que vous pourriez m'aider à corriger mon fichier XSL ?
Merci par avance
apple
J'ai un petit problème pour transformer un fichier XML en CSV avec XSL
J'ai un fichier XML qui a ce format :
<AA> <A> <B> <C>X1</C </B> <B> <C>X2</C </B> <B> <C>X3</C </B> </A> <A> <B> <C>Y1</C </B> <B> <C>Y2</C </B> <B> <C>Y3</C </B> </A> </AA>
Je voudrait faire un fichier XSL qui transforme ce fichier XML en fichier CSV au format suivant:
Colonne 1, Colonne 2, colonne 3
X1,X2,X3
Y1,Y2,Y3
voici le fichier XSL que j'ai créé :
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="text" /> <xsl:template match="/">Colonne 1, Colonne 2, colonne 3 <xsl:for-each select="//A/B/C"> <xsl:value-of select="." />, </xsl:for-each>\n </xsl:template> </xsl:stylesheet>
Mais voici ce que ça me donne :
Colonne 1, Colonne 2, colonne 3
X1,X2,X3,Y1,Y2,Y3,
X1,X2,X3,Y1,Y2,Y3,
Est ce que vous pourriez m'aider à corriger mon fichier XSL ?
Merci par avance
apple
2 réponses
-
Salut,
<xsl:for-each select="//A">
<xsl:apply-template />\n
</xsl:for-each>
<xsl:template-match ="B/C">
<xsl:value-of select="."/>,
</xsl-template>
Un truc dans le genre, je suis plus très sûr des orthographe des tags et compagnies, et j'ai pas trop le temps d'approfondir, désolé...
-
merci de ta réponse .
J'ai trouvé grâce à toi. Voici la bonne syntaxe :
<xsl:template match="/">Colonne 1, Colonne 2, colonne 3 <xsl:for-each select="//A"> <xsl:for-each select="B/C"><xsl:value-of select="." />,</xsl:for-each><xsl:text> </xsl:text> </xsl:for-each> </xsl:template>
Apple