簡體   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