xpath:math,其名称中包含“ - ”的元素(<node-name>)</node-name>

时间:2012-11-21 20:08:06

标签: xpath subtraction

我想用一些名称中包含-的元素做一些数学运算:

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

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

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

但由于节点-的名称中有max-capacity,因此无效。

我需要做些什么来完成这项工作?

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

  

因为有一个 - 在节点max-capacity的名称中,这不是   工作

     

我需要做些什么来完成这项工作?

     

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

您的问题不在于您有max-capacity 之类的名称 - 问题在于,如果不将名称与-运算符分隔为空格,则表示创建一个新名称:max-capacity-content并且XML文档中没有该名称的元素。

<强>解决方案

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