J'ai une valeur d'attribut id pour un élément.aide avec xpath sélection
Je veux sélectionner uniquement ses enfants (pas tous les descendants).
i utilisé
$childElements = $xml->xpath('//entity[@id=212323]');
print_r($childElements);
mais sélectionnerait tous les descendants et les imprimer. Je veux juste sélectionner les enfants de 1 génération. comment pourrais-je faire ça?
<entity id=212323>
<this>asd</this>
<this>asd</this>
<this>asd</this>
<this>
<notThis>asd</notThis>
<notThis>asd</notThis>
<notThis>asd</notThis>
</this>
</entity>
(provoque la hiérarchie est très longue, fecthing si tous les descendants ralentir le processus, et ce ne est pas intelligent pour récupérer les données inutiles).
Bit d'un coup dans le noir, mais cela pourrait me faire un pas dans la bonne direction: '// entité [@ id = 212323]/child :: */text()' ou peut-être '// entity [@ id = 212323]/child :: */child :: text() ' –
non il a toujours récupéré tous les éléments sous l'élément id. –
Je pense que vous êtes malentendu. Lorsque vous imprimez un élément, vous l'imprimez et tous ses enfants, n'est-ce pas? Même si vous ne sélectionnez que les enfants de niveau supérieur, si vous les imprimez ... vous imprimez tout. vous devez repenser vos exigences. – Cheeso