14 votes

Xpath pour sélectionner uniquement les noeuds où des éléments enfants existent ?

Cela devrait être facile, mais cela me pose problème. Étant donné cette structure :

<root>
  <a>
    <b/>
  </a>
  <a/>
</root>

J'essaie de formuler une expression xpath qui ne donne que les éléments "a" non vides, c'est-à-dire ceux qui ont des éléments enfants. Je veux donc que la première instance de "a" soit retournée, mais pas la seconde.

Pour l'instant, j'ai "/Root/a/self::*" mais cela me renvoie les deux a.

14voto

Adrian Points 3408
/root/a[count(*)&gt;0]

donnera n'importe quel nœud 'a' avec n'importe quel type de nœud enfant

8voto

Torsten Marek Points 27554
/root/a[count(*)>0]

5voto

Mat2 Points 11

Celui-ci fonctionne

/root/a[*]

ou même

//a[*]

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