Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xpath:包含'-';以其名称(<;节点名称>;)_Xpath_Subtraction - Fatal编程技术网

xpath:包含'-';以其名称(<;节点名称>;)

xpath:包含'-';以其名称(<;节点名称>;),xpath,subtraction,Xpath,Subtraction,我想对一些名称中包含-的元素进行一些计算: <containers> <container> <max-capacity>10</max-capacity> <content>5</content> </container> <container> <max-capacity>10</max-capacity> <content

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

<containers>
  <container>
    <max-capacity>10</max-capacity>
    <content>5</content>
  </container>
  <container>
    <max-capacity>10</max-capacity>
    <content>8</content>
  </container>
</containers>
但是,由于节点名称中有一个
-
最大容量,因此这不起作用

我该怎么做才能让这一切顺利进行


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

添加空格-
容器/container[max capacity-content>2]
根据工作,并且应该在
count()
表达式中工作,例如您的表达式

由于节点名称中有一个-
max capacity
,因此没有 工作

我该怎么做才能让这一切顺利进行

(我不想将xml转换为--自由的文档。)

你的问题不是你有像
max capacity
这样的名字——问题是没有用空格分隔名字和
-
操作符,你正在创建一个新名字:
max capacity content
,而XML文档中没有这个名字的元素

解决方案

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