Utilisation de XPath, comment puis-je sélectionner plusieurs éléments tout en conservant le chemin
Question
En supposant que j'ai un XML comme ceci:
<a>
<b>
<i>data</i>
<ii>data</ii>
<iii>data</iii>
</b>
<b>
<i>data<i>
<ii>data<ii>
<iii>data</iii>
</b>
</a>
En utilisant XPath, comment pourrais-je choisir le XML ci-dessus pour créer une structure comme ceci:
<b>
<i>data</i>
<ii>data</ii>
</b>
<b>
<i>data<i>
<ii>data<ii>
</b>
Dans ce scénario, je suis seulement intéressé par i et ii, mais veulent conserver l'élément extérieur. Je ne peux pas utiliser XSLT, seules les déclarations XPATH.
Merci!
La solution
Peut-être que je me trompe, mais je pensais XPATH sélectionne uniquement des séquences de « nœuds », dans son propre modèle abstrait. Je serais perdu sans XSLT ici.
Autres conseils
/a/*/i/..|/a/*/ii/..
"D'un, sélectionnez tous les enfants, puis sélectionnez tous les « i » éléments, puis sélectionnez le parent, ou d'une sélection de tous les enfants choisissent ensuite tous les « éléments ii », puis sélectionnez le parent.
Pour sélectionner tous les nœuds et y compris leurs parents, les noeuds extérieurs:
/a[i or ii]|/a/i|/a/ii|/b[i or ii]|/b/i|/b/ii