Оператор XPath OR для разных узлов - PullRequest
120 голосов
/ 18 марта 2011

Как я могу сделать с XPath:

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

Просто //title не будет работать, потому что у меня также есть //bookstore/magazine/title

p.s. Я видел много или примеров, но в основном с атрибутами или структурой с одним узлом.

Ответы [ 3 ]

190 голосов
/ 18 марта 2011

Все title узлы с zipcode или book узлом в качестве родителя:

Версия 1:

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

Версия 2:

//bookstore/book/title|//bookstore/city/zipcode/title
47 голосов
/ 29 апреля 2013

Если вы хотите выбрать только один из двух узлов с оператором объединения, вы можете использовать это решение: (//bookstore/book/title | //bookstore/city/zipcode/title)[1]

1 голос
/ 31 августа 2017

Это элемент имеет два xpath. Затем вы можете написать два xpath, как показано ниже

xpath1 | xpath2

Например: // input [@ name = "username"] | // ввод [@ ид = "wm_login-имя пользователя"]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...