J'ai un format XML arborescent en entrée et je souhaite le convertir en un format XML plat (où l'arborescence est stockée dans une balise "chemin").
Il faut que la conversion soit automatique.
j'ai donc décidé d'utiliser le Xsl pour transformer le fichier d'entrée. Mais je n'arrive pas à trouver comment récupérer le chemin des noeuds dans l'arborescence du fichier XML d'entrée.
![]()
J'ai bien trouver quelques sujets dans le forum expliquant comment créer un XML "arborescent" à partir d'un XML "plat" mais pas l'inverse. Je fais donc appel à vos connaissances.
Voici le formatage du fichier XML en entrée:
![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <maison> <garage couleur="gris"> <voiture type="coupé" couleur="noire" valeur="BMW Z3"> </voiture> </garage> <cuisine type="ikéa" valeur = "5000"> <casserole type="sauteuse" manche="bois" matiere="fonte" valeur="téfal T2"> </casserole> <cuisine> </maison>Voici le formatage du fichier XML en sortie:
Si quelqu'un pouvait m'aider à trouver une fonction en XSL ou à en coder une permettant de récupérer le chemin d'un noeud.
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 <NOM>maison</NOM> <chemin>/</chemin> <VALEUR></VALEUR> <NOM>garage</NOM> <chemin>/maison</chemin> <VALEUR couleur="gris"></VALEUR> <NOM>voiture</NOM> <chemin>/maison/garage</chemin> <VALEUR couleur="noire" type=" coupée " >BMW Z3</VALEUR> <NOM>cuisine</NOM> <chemin>/maison</chemin> <VALEUR type="ikéa">5000</VALEUR> <NOM>casserole</NOM> <chemin>/maison/cuisine</chemin> <VALEUR manche="bois" matiere="fonte">téfal T2</VALEUR>
merci de votre aide
Partager