簡體   English   中英

xpath-由有條件的孩子獲取父ID

[英]xpath - get parent Id by children with condition

我有看起來像這樣的XML:

<doc>   
    <H Id="4732894">
      <M Ind="aa">
        <A Id="G">A</A>
        <A Id="S">M</A>
      </M>
    </H>
    <H Id="4326789">
      <M Ind="aa">
        <A Id="G">B</A>
        <A Id="S">F</A>
      </M>
      <M Ind="ab">
        <A Id="G">B</A>
        <A Id="S">M</A>
      </M>
      <M Ind="ac">
        <A Id="G">3</A>
        <A Id="S">F</A>
      </M>
      <M Ind="ad">
        <A Id="G">2</A>
        <A Id="S">F</A>
      </M>
    </H>
</doc>

我需要獲取所有具有M元素的H元素的Id ,其中M元素具有A元素,其中Id=G = BC在文本中,並且Id=S = F

因此,在此示例中,輸出應僅為4326789 ,因為此H元素中的第一個M元素滿足條件。

這是我嘗試過的:

"//H/M/A[@Id='G'][contains(text(),'B C']/../../@Id"

並且它已經引發了一個錯誤(所以我什至沒有嘗試為@Id='S'添加and )。

任何幫助將不勝感激!

嘗試在XPath下面獲取所需的輸出:

//H[M[A[@Id="G" and .="B"] and A[@Id="S" and .="F"]]]/@id

輸出:

4326789

請注意, .="F"搜索文本內容等於 "F" A節點。如果需要包含 "F"節點,則可以使用A[@Id="S" and contains(., "F")]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM