Bonjour,
J'ai un problème de merde qui me prend la tête depuis ce matin, donc je me décide à demander de l'aide ^^
Voilà, j'ai un fichier xml comme celui-ci :
Ce que je cherche à faire, c'est en faire un tableau. A première vue, c'est pas très compliqué. Le seul truc, c'est que pour les SOLLICITATION, je souhaite avoir dans une premiere colonne, le NUM_MECA de toutes ces SOLLICITATION séparées par un espace, et dans la 2e colonne, les COEF_MULT_FIXE séparé par des espaces égalements.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <CHAR_ELEM> <c:CHAR_MECA_DEF-GRP> <c:CHAR_MECA_DEF> <NUM>1</NUM> <NOM>Poids propre</NOM> <c:SOLLICITATION-GRP> <c:SOLLICITATION> <c:NUM_MECA>10</c:NUM_MECA> <c:COEF_MULT_FIXE>0.42E+04</c:COEF_MULT_FIXE> </c:SOLLICITATION> <c:SOLLICITATION> <c:NUM_MECA>11</c:NUM_MECA> <c:COEF_MULT_FIXE>-0.96E+04</c:COEF_MULT_FIXE> </c:SOLLICITATION> </c:SOLLICITATION-GRP> </c:CHAR_MECA_DEF> </c:CHAR_MECA_DEF-GRP> </CHAR_ELEM>
Pour cela, j'ai fait un fichier xsl comme celui-ci :
Dans mon exemple, je fais un concat() avec 'a' déjà, rien que pour voir s'il rentre dans la boucle for-each. Et j'ai l'impression qu'il ne va jamais dedans... Alors je sais pas ce qu'il faut faire comme test, mais je vois pas, j'ai essayé plein de trucs différents, il rentre jamais dedans.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <xsl:template match="/*" > <xsl:variable name="solli_tmp" select="' '"></xsl:variable> <xsl:for-each select="/CHAR_ELEM_CL/t:CHAR_ELEM-GRP/t:CHAR_ELEM"> <xsl:variable name="solli_tmp" select="concat($solli_tmp,'a')" /> </xsl:for-each> <tr> <td><xsl:value-of select="$solli_tmp"/></td> </tr> </xsl:template>
Si quelqu'un a une idée (de génie?), je suis ouvert à toutes les propositions
Partager