web-dev-qa-db-fra.com

Sélection XPath par texte interne

J'essaie d'extraire un élément avec un texte interne particulier à partir d'un document XML analysé. Je sais que je peux sélectionner un élément qui a un enfant avec un texte intérieur particulier en utilisant //myparent[mychild='foo'], mais je veux juste sélectionner l'élément "mychild" dans cet exemple.

<myparent>
  <mychild>
    foo
  </mychild>
</myparent>

Quelle serait la requête XPath pour "foo" qui retournerait le nœud "mychild"?

51
kdt

Avez-vous essayé cela?

//myparent/mychild[text() = 'foo']

Vous pouvez également utiliser le raccourci pour l'axe self:

//myparent/mychild[. = 'foo']
79
glmxndr

Matt l'a dit, mais la solution complète:

//myparent[mychild='foo']/mychild
4
Pål Thingbø