Xpath: выбрать узел на основе условия (с local-name ())

Вопрос довольно глупый, но я полностью застрял. Я хочу извлечь дочерние узлы узла на основе условия. XML выглядит следующим образом:

<a> 
 <aCode>aaa</aCode>
 <aValue>bbb</aValue>
</a>

Выражение очевидно: //a[aCode='aaa']

Но я не могу понять, как мне это изменить, если это с пространствами имен и у меня есть использовать local-name(). Я проверил следующее, и оно выдает ошибку разбора:

/*[local-name()='a'][[local-name()='aCode']='aaa']

Кто-нибудь знает, что мне делать?

24
задан Bhargav Rao 1 July 2019 в 14:16
поделиться

1 ответ

Попробуйте это

/a/aCode[text()='aaa']

или

//*[local-name() = 'aCode' and text() = 'aaa']

Вы использовали // в неправильном месте.

12
ответ дан Cylian 1 July 2019 в 14:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: