XPath:名称中包含'-'的元素的数学运算(<node-name>)



我想对一些名称中包含-的元素进行一些数学运算:

<containers>
  <container>
    <max-capacity>10</max-capacity>
    <content>5</content>
  </container>
  <container>
    <max-capacity>10</max-capacity>
    <content>8</content>
  </container>
</containers>

我想执行一个 xpath 查询,该查询计算剩余容量为> 2 的容器数量

count(containers/container[max-capacity-content>2])

但是由于节点名称中有- max-capacity因此这不起作用。

我该怎么做才能完成这项工作?

(我不想将 xml 转换为无-文档。

添加空格 - containers/container[max-capacity - content > 2]根据 http://www.xpathtester.com/test 工作,并且也应该在像您这样的count()表达式中工作。

由于节点名称中有一个 - max-capacity这不会 工作。

我该怎么做才能完成这项工作?

(我不想将 xml 转换为 --free 文档。

您的问题不在于您有像 max-capacity 这样的名称 - 问题在于,通过不使用空格分隔名称和-运算符,您将创建一个新名称:max-capacity-content并且 XML 文档中没有具有该名称的元素。

解决方案

 count(containers/container[max-capacity - content > 2])

相关内容

最新更新