检查属性是否退出,如果仅选择元素



当有属性名称测试时,我的xpath工作文件。

<A>
  <B test="Added">
     <C>test</C>
  </B>
</A>

XPATH

//B[@test !='Deleted']/C/text()

但是,当没有属性名称测试时,相同的 XPATH 不起作用。

<A>
  <B>
     <C>test</C>
  </B>
</A>

XPATH

//B[@test!='Deleted']/C/text()

即使没有属性名称测试,我应该怎么做才能使其工作。

尝试改用not(@test ='Deleted')

//B[not(@test ='Deleted')]/C/text()

此 XPath 匹配B属性不等于'Deleted' test元素,包括属性test不存在的情况。


演示: xpathtesterxpatheval

.XML:

<root>
<A>
  <B test="Added">
     <C>test</C>
  </B>
</A>
<A>
  <B>
     <C>test</C>
  </B>
</A>
</root>

输出:

test
test

相关内容

最新更新