繁体   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