【问题标题】:XPath query returns empty result in VTD XML. What is the right format for XPath queries with VTD-XML?XPath 查询在 VTD XML 中返回空结果。使用 VTD-XML 进行 XPath 查询的正确格式是什么?
【发布时间】:2019-10-30 23:45:42
【问题描述】:
我有一个 XML,例如:
<Transmission isFile="true"
transmissionId="20190614172302"
number="notAvailable">
<KeyAttribute type="TRANSMISSION_TYPE" value="RANDOM"/>
</Transmission>
XPath:
/Transmission/KeyAttribute/@value
不适用于 VTD。如何使用 VTD-XML 查询此 XML 并检索命名空间的值。
相同的路径适用于简单的 DOM XPath。
【问题讨论】:
标签:
xml
xpath
xpath-2.0
vtd-xml
【解决方案1】:
使用您给定的 XML,您的 XPath-1.0 表达式
/Transmission/KeyAttribute/@value
确实按预期工作。但是因为您提到了命名空间,所以我假设命名空间涉及到整个场景。因此,在不了解它们的情况下,我建议使用与命名空间无关的解决方案:
/*[local-name()='Transmission']/*[local-name()='KeyAttribute']/@value
此解决方案忽略所涉及元素的命名空间。
结果如愿:
随机