2 votes

Comment sélectionner un nœud qui est à l'intérieur d'un frère ou d'une sœur d'un nœud parent en utilisant une expression xpath ?

J'essaie de sélectionner un nœud en fonction du texte connu à l'intérieur d'un frère d'un nœud parent. Pour être plus clair, mon HTML a la structure suivante :

<k>
    <l>Known</l>
</k>
<k>
    <l>Desired</l>
</k>

Ma tentative :

//k//following-sibling::*[text()="Known"]

Les retours :

Connu

Pourquoi ?

2voto

Daniel Haley Points 19098

C'est parce qu'en fait, vous sélectionnez tout descendant de k avec le texte Known .

(En fait, vous faites correspondre le l parce que c'est un frère de l'espace blanc qui le précède. Si vous supprimez les espaces blancs (y compris les sauts de ligne), votre xpath ne retournera probablement rien).

Essayez de sélectionner le premier frère ou la première sœur suivant(e) k ...

//k[l='Known']/following-sibling::k[1]/l

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X