web-dev-qa-db-fra.com

Opérateur XPath OR pour différents nœuds

Comment puis-je faire avec XPath:

//bookstore/book/title or //bookstore/city/zipcode/title

Juste //title ne fonctionnera pas car j'ai aussi //bookstore/magazine/title

p.s. J'ai vu beaucoup d'exemples mais principalement avec des attributs ou une structure à nœud unique.

125
user569008

Tous les nœuds title avec zipcode ou book nœud en tant que parent:

Version 1:

//title[parent::zipcode|parent::book]

Version 2:

//bookstore/book/title|//bookstore/city/zipcode/title
195
Stephan

Si vous souhaitez sélectionner uniquement l'un des deux nœuds avec l'opérateur d'union, vous pouvez utiliser cette solution: (//bookstore/book/title | //bookstore/city/zipcode/title)[1]

47
azurkin

Si l'élément a deux xpath. Ensuite, vous pouvez écrire deux xpath comme ci-dessous

xpath1 | xpath2

Par exemple: // entrée [@ nom = "nom d'utilisateur"] | // input [@ id = "wm_login-username"]

1
Subrahmanya Prasad