2

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

<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])

但由于-节点名称中有 a ,max-capacity这不起作用。

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

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

4

2 回答 2

2

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

于 2012-11-21T20:16:08.153 回答
1

因为在节点的名称中有一个 -max-capacity这不起作用。

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

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

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

解决方案

 count(containers/container[max-capacity - content > 2])
于 2012-11-21T20:35:06.810 回答