Fusionner des noeuds comportant les mêmes éléments
Bonjour!
Je cherche à fusionner des noeuds pour rassembler leurs éléments enfants qui sont séparés par année: mon code ressemble à ceci:
Code:
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
|
<?xml version="1.0" encoding="UTF-8"?>
<communication-data>
<country>
<name>country1</name>
<id>id1</id>
<data>
<year number="1960">
<attr1>123</attr1>
</year>
<year number="1961">
<attr1>234</attr1>
</year>
</data>
</country>
<country>
<name>country1</name>
<id>id1</id>
<data>
<year number="1960">
<attr2>345</attr2>
</year>
<year number="1961">
<attr2>567</attr2>
</year>
</data>
</country>
</communication-data> |
et je cherche à obtenir ceci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
<?xml version="1.0" encoding="UTF-8"?>
<communication-data>
<country>
<name>country1</name>
<id>id1</id>
<data>
year number="1960">
<attr1>123</attr1>
<attr2>345</attr2>
</year>
<year number="1961">
<attr1>234</attr1>
<attr2>567</attr2>
</year>
</data>
</country>
</communication-data> |
j'ai essayé d'utiliser le code proposé ici http://xml.developpez.com/faq/?page=3#xslt_regroup dans la FAQ, mais mon cas me semble plus compliqué, en tout cas je n'y arrive pas.
Mon fichier xml est relativement grand, il a des données pour tous les pays du monde et de nombreuses années, de plus seulement les attributs de quelques pays sont ainsi "séparés".
Merci d'avance de votre aide!
GwenG