Bonjour,
Cela fait quelques jours que je suis bloqué sur le même problème, alors si quelqu'un peut me donner une piste je lui en serai très reconnaissant!
Pour résumer, je veux trier les noeuds d'un fichier xml, grâce à un xsl, de manière à suivre l'ordre présent dans un autre xml.
Dans mon xml 1, j'ai des noeuds "ville" et "village" qui sont au même niveau, les villes d'abord, les villages ensuite. Et chaque noeud a des noeuds childs et des attributs :
Dans mon xml 2, j'ai ce à quoi doit ressembler le xml final, mais je n'ai que les
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <ville nom="Paris" departement="75"> <rue nom="Bbbb"/> </ville> <ville nom="Lyon" departement="69"> <rue nom="Aaaa"/> </ville> <ville nom="Toulouse" departement="31"> <rue nom="Abcd"/> </ville> <village nom="village1"/> <village nom="village2"/>
noeuds ville et village, et leur attribut "nom" qui sert à les reconnaître:
L'objectif est donc soit de prendre le xml 2 et d'y recopier les attributs piochés dans le xml 1, soit de prendre le xml 1 qui contient les noeuds complets et d'y appliquer l'ordre du xml 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <ville nom="Paris"/> <village nom="village2"/> <ville nom="Toulouse"/> <village nom="village1"/> <ville nom="Lyon"/>
J'ai essayé les 2, sans succès, je peux vous donner mes sources si vous le souhaitez. J'écris ici surtout pour savoir si par hasard il y aurait une méthode toute simple permettant d'appliquer l'ordre d'un xml à un autre xml.
Merci d'avance
Ps: j'ai découvert les xslt il y a moins d'un mois, merci d'être indulgent si ma question paraît stupide ;-)
Partager