繁体   English   中英

如何使用 Xpath 定位子节点不包含属性的父节点?

[英]How do I use Xpath to locate parent node where a child node does not contain an attribute?

使用 Xpath,如何在属性值列表中定位多个子元素都不包含特定属性值的父元素?

这是我的 xml 示例:

<app>
  <rdg wit="#R #W #I #S #C #O #D">existunt,</rdg>
  <rdg wit="#J">existant,</rdg>
</app>

我的 XML 有数百个这样的元素,它们都应该具有相同的一组八个属性值(#R 等),它们以不同的方式分布在两个或多个元素中。 但是其中一些缺少列表中的属性值,我需要找到这些节点。

所以我试图找到所有<app>元素,其中没有子<rdg>元素包含 #R。

我可以得到那些包含#R与那些//app/rdg[contains(@wit,"#R")]我知道有没有()函数,但我还没有想出如何让这些来一起工作。

您可以按如下方式完成此操作:

//app[not(rdg/@wit[contains(., '#R')])]

或者:

//app[not(rdg[contains(@wit, '#R')])]

这种稍微复杂的方法是必要的,因为app包含多个rdg ,所以我们基本上是在做(以第二个例子为例):

  • 选择所有app所在的位置...
  • 没有一个rdg孩子在哪里......
  • wit属性包含#R

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM