Bonjour,
j'ai un fichier xml avec des balises avec un id1 et je souhaite récupérer les informations du premier id et les regrouper à partir de l'id2.
pouvez-vous m'aider, je ne maitrise pas le XSLT?
un morceau du XML
un morceau du XSL
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <?xml version="1.0" encoding="UTF-8"?> <root> <MOIS mois="01"> <INSTANCE dep="971"> <row> <FIC>CCR</FIC> <CPTE>729</CPTE> </row> </INSTANCE> </MOIS> <MOIS mois="02"> <INSTANCE dep="971"> <row> <FIC>CCR</FIC> <CPTE>544</CPTE> </row> </INSTANCE> </MOIS> <MOIS mois="01"> <INSTANCE dep="972"> <row> <FIC>CCR</FIC> <CPTE>48</CPTE> </row> </INSTANCE> </MOIS> <MOIS mois="02"> <INSTANCE dep="972"> <row> <FIC>CCR</FIC> <CPTE>34</CPTE> </row> </INSTANCE> </MOIS> </root>
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
19
20
21
22
23 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="UTF-8"/> <xsl:key name="mois" match="MOIS" use="@mois"/> <xsl:key name="dep" match="INSTANCE" use="@dep"/> <xsl:template match="/"> <table> <xsl:for-each select="//MOIS[generate-id(.)=generate-id(key('mois', @mois)[1])]"> <tr> <td> <table> <xsl:for-each select="//INSTANCE[generate-id(.)=generate-id(key('dep', @dep)[1])]"> <tr> <td><xsl:value-of select='.'/><br /></td> </tr> </xsl:for-each> </table> </td> </tr> </xsl:for-each> </table>
Partager