Я ищу соответствие списка / массива значений в моем выражении xpath и хотел бы знать, возможно ли это.
Мой XML
<Parent-tag>
<Child-Tag>
<status>Up</status>
<prop-name>prop-1</prop-name>
</Child-Tag>
<Child-Tag>
<status>Up</status>
<prop-name>prop-2</prop-name>
</Child-Tag>
<Child-Tag>
<status>Down</status>
<prop-name>prop-3</prop-name>
</Child-Tag>
<Child-Tag>
<status>Up</status>
<prop-name>prop-4</prop-name>
</Child-Tag>
</Parent-Tag>
Я бы хотел XPATH, как показано ниже
/Parent-Tag/Child-Tag[prop-name=('prop-1', 'prop-2','prop-3')]/status
Я попробовал двух тестеров xpath онлайн:
(1) https://www.freeformatter.com/xpath-tester.html#xpath-examples
(2) https://www.webtoolkitonline.com/xml-xpath-tester.html
В (1) вышеприведенное выражение вернуло значения, но в (2) оно вернулось с синтаксической ошибкой.
Я не уверен, что это связано с версиями XPATH. Знаете ли вы, если последняя версия XPATH поддерживает это? Если да, есть ли альтернатива этому в более старых версиях XPATH?
Тем не менее, я понимаю, что это может быть достигнуто следующим образом (, но не то, что я хотел бы ):
/Parent-Tag/Child-Tag[prop-name='prop-1' or prop-name='prop-2' or prop-name='prop-3')]/status