下面是我的XML
<?xml version = '1.0' encoding = 'UTF-8'?>
<cmps>
<cmp>
<name>abc</name>
<id>302</id>
</cmp>
<cmp>
<name>abc</name>
<id>370</id>
</cmp>
<cmp>
<name>abc</name>
<id>073</id>
</cmp>
<cmp>
<name>abc</name>
<id>302</id>
</cmp>
<cmp>
<name>ab</name>
<id>370</id>
</cmp>
</cmps> ===================在上面的xml中,希望找出基于名称和id元素的所有重复项。所以这个xml有一个重复的元素,它具有相同的名称和id。但是下面的xpath表达式显示两个重复的元素,能有人改正expression...any帮助吗?
cmps//cmpid= (以下-同级::cmp/id)和名称(以下-同级::cmp/ name= )
上述xpath表达式的输出:
<cmp>
<name>abc</name>
<id>302</id>
</cmp>
<cmp>
<name>abc</name>
<id>370</id>
</cmp>预期输出:
<cmp>
<name>abc</name>
<id>302</id>
</cmp>发布于 2014-12-23 07:59:12
您可以使用not():
//cmps//cmp[not(id= (following-sibling::cmp/id)
and name = (following-sibling::cmp/name))]结果:
<cmp>
<name>abc</name>
<id>302</id>
</cmp>
<cmp>
<name>abc</name>
<id>073</id>
</cmp>
<cmp>
<name>ab</name>
<id>370</id>
</cmp>发布于 2014-12-30 08:54:11
在XPath1.0中,我们似乎不能完成这个任务
https://stackoverflow.com/questions/27612074
复制相似问题