j'ai une structure similaire à ce qui suit:Xpath: Sélectionnez nœud mais pas des éléments spécifiques de l'enfant
<page id='1'>
<title>Page 1</title>
<page id='2'>
<title>Sub Page 1</title>
</page>
<page id='3'>
<title>Sub Page 2</title>
</page>
</page>
<page id='4'>
<title>Page 2</title>
</page>
J'ai besoin de sélectionner une page par Id mais si cette page a des pages descendant je ne veux pas revenir ces éléments, mais je veux les autres éléments de cette page. Si je choisis Page 1 Je veux retourner titre, mais pas les pages enfant ...
//page[@id=1]
ci-dessus me met la page 1, mais comment puis-je exclure les sous-pages? En outre, il peut y avoir n'importe quel nombre arbitraire d'éléments dans une page. J'ai trouvé que cela me donne les données que je veux. Cependant, ces données reviennent sous la forme d'un tableau d'objets avec un objet par élément et excluent apparemment les noms d'éléments. J'utilise PHP SimpleXML pour ce que ça vaut.
Bonne question, +1. Voir ma réponse pour une solution courte et simple. :) –
"Cependant, cette donnée se présente sous la forme d'un tableau d'objets avec un objet par élément." En quoi est-ce différent de ce que vous voulez/avez besoin? – LarsH
Les données reviennent dans un format différent en fonction de la requête xpath, j'obtiens un tableau de SimpleXMLElement avec une seule chaîne dans chacune et il manque les noms des éléments. Le premier cas renvoie un seul objet SimpleXMLElement avec toutes les paires de valeurs de clé attendues. Je ne comprends pas pourquoi, je vais peut-être ouvrir une autre question. – Ben