Xpath:如何查找非特定节点后代的节点

时间:2011-04-28 13:10:33

标签: javascript dom xpath xquery

示例,我有一个像这样的XML文档

a[@class="wrong]
 ...
   b
    c 
d
 ...
   b
    c <= this one

我想选择第二个// b / c而不从@ class =“错误”获取第一部分的// b / c。 并且在不需要的节点和// b / c之间存在一些未知节点。 而且我不知道这是非期望类的确切标记。

所以我试试//*[not(contains(@class,'wrong'))]/b/c 但是它没有用,因为如果没有这个类的'...'中至少有一个节点,那么第一个b / c也会被返回。

1 个答案:

答案 0 :(得分:1)

使用:

//b[not(ancestor::*[contains(@class,'wrong')])]/c