Xpath: вернуть все узлы, которые соответствуют любому из условий - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь получить два узла из XML как объединенный результат, используя условие ИЛИ.

Узлы в XML, где name = John или name = "jim", оба должны быть возвращены. Поэтому в основном я ожидаю следующий результат:

<person name="John"></person>
<person name="Jim"></person>

Я пробовал XPath-функцию * // / person [@ name = "John"] или // / person [@name = "Jim"] *

но это дает мне только один узел.

Как построить функцию Xpath в этом случае?

regards, Venky

1 Ответ

2 голосов
/ 22 октября 2019

Я бы использовал предикат person[@name = ('John', 'Jim')], если предположить, что Saxon означает версию Saxon 9, в которой поддерживается XPath 2 или 3. Конечно, правильное место для вашего выражения or будет заключено в квадратные скобки person[@name = 'Jim' or @name = 'John'].

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