【问题标题】: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
    

    此解决方案忽略所涉及元素的命名空间。
    结果如愿:

    随机

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多