Запрос XPath возвращает пустой результат в VTD XML.Каков правильный формат для запросов XPath с VTD-XML? - PullRequest
0 голосов
/ 17 июня 2019

У меня есть XML, такой как:

<Transmission isFile="true"
   transmissionId="20190614172302"
   number="notAvailable">
   <KeyAttribute type="TRANSMISSION_TYPE"  value="RANDOM"/>
</Transmission>

XPath:

/Transmission/KeyAttribute/@value 

не работает с VTD. Как запросить этот XML и получить значения пространств имен, используя VTD-XML.

Тот же путь работает с простым DOM XPath.

1 Ответ

0 голосов
/ 17 июня 2019

С вашим данным XML ваше выражение XPath-1.0

 /Transmission/KeyAttribute/@value

работает как положено. Но поскольку вы упомянули пространства имен, я предполагаю, что пространства имен участвуют во всем сценарии. Поэтому, ничего не зная о них, я предлагаю решение, не зависящее от пространства имен:

/*[local-name()='Transmission']/*[local-name()='KeyAttribute']/@value

Это решение игнорирует пространства имен участвующих элементов.
И результат будет таким, как хотелось бы:

RANDOM

...