Les Allergies
Alimentaires
Posez votre question Signaler

XML->XSL->CSV [Résolu]

apple31 25Messages postés 6 avril 2006Date d'inscription - Dernière réponse le 7 sept. 2007 à 10:10
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 :
<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
Lire la suite 

XML->XSL->CSV »

Suggestions
2 réponses
Réponse
+2
moins plus
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é...
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Ce document intitulé « XML->XSL->CSV » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?