Bonjour,
Je suis confronté au problème suivant :
j'ai le fichier XML suivant (source.xml) :
Et je veux obtenir un fichier XML qui a la forme suivante (target.xml) :
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
36
37
38
39
40
41 <?xml version="1.0"?> <root> <list> <object> <family>house</family> <name>door</name> <price>100</price> </object> <object> <family>house</family> <name>window</name> <price>200</price> </object> <object> <family>house</family> <name>bedroom</name> <price>300</price> </object> <object> <family>human</family> <name>arm</name> <price>400</price> </object> <object> <family>human</family> <name>foot</name> <price>600</price> </object> <object> <family>house</family> <name>bathroom</name> <price>700</price> </object> <object> <family>human</family> <name>hand</name> <price>300</price> </object> </list> </root>
Pour l'instant je fais ça, mais cela ne me donne pas encore le bon résultat (somework.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 <?xml version="1.0"?> <root> <list> <family name="house"> <object> <name>door</name> </object> <object> <name>window</name> </object> <object> <name>bedroom</name> </object> <object> <name>bathroom</name> </object> </family> <family name="human"> <object> <name>arm</name> </object> <object> <name>foot</name> </object> <object> <name>hand</name> </object> </family> </list> </root>
Quelqu'un peut-il m'aider ?
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 <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/root"> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <anotherlist> <xsl:for-each select="list"> <xsl:if test="object"> <xsl:for-each select="object" order-by="+family"> <family name="{family}"> <object> <name> <xsl:value-of select="name"/> </name> <price> <xsl:value-of select="price"/> </price> </object> </family> </xsl:for-each> </xsl:if> </xsl:for-each> </anotherlist> </root> </xsl:template> </xsl:stylesheet>
Merci.
Partager