簡體   English   中英

XPath獲取父元素

[英]XPath get parent element

我有一個與XPath相關的問題。 我有這樣的XML條目列表:

<NavigationEntry>
<BaseData>
    <Name>Entry Name</Name>
  </BaseData>
  <Relation>
    <RelationEntry isDefault="0">
      <ParentNavigationEntry>456</ParentNavigationEntry>
      <Order>200</Order>
    </RelationEntry>
  </Relation>

<NavigationEntry>
  <BaseData>
    <Name>Entry Name</Name>
  </BaseData>
  <Relation>
    <RelationEntry isDefault="0">
      <ParentNavigationEntry>123</ParentNavigationEntry>
      <Order>200</Order>
    </RelationEntry>
  </Relation>

問題是:如何獲取具有值為456的Field ParentNavigationEntry的所有導航條目。

我嘗試了//NavigationEntry//RelationEntry[ParentNavigationEntry="456"]

但這只給了我RelationEntry字段,但是我需要NavigationEntry字段。

是否可以通過單個XPath查詢解決此問題?

問題是:如何獲取具有值為456的Field ParentNavigationEntry的所有導航條目。

//NavigationEntry[
   /Relation
      /RelationEntry
         /ParentNavigationEntry = 456
]

注意:選擇那些NavigationEntry元素,然后過濾謂詞。 同樣,當模式眾所周知時,也不是使用//好習慣,因為即使經過匹配,它也會遍歷整個后代樹。

將/ ParentNavigationEntry添加到您的XPath。

例...

//NavigationEntry//RelationEntry[ParentNavigationEntry="456"]//ParentNavigationEntry

暫無
暫無

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

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