son*_*ony 25 xml xpath xquery parent-child
我正在使用XML和XQuerie.我通常使用相对于父节点的XPath表达式来检索其子节点.但是,如果我有一个子节点,我不知道如何做相反的意思,我如何检索其父节点.
<node id="50>
<childnode1 childid="51" />
<childnode2 childid="52" />
</node>
Run Code Online (Sandbox Code Playgroud)
如果我有节点<childnode1 childid="51" />,我该如何检索其父节点:<node id="50>
Dim*_*hev 22
简短回答:
..
Run Code Online (Sandbox Code Playgroud)
这将选择当前(上下文)节点的父节点.
更长,更一般的答案:
//node()[childnode1/@childid="51"]
Run Code Online (Sandbox Code Playgroud)
这将选择文档中具有名为的子元素的任何节点,该元素childnode1具有属性childid,其值为"51".
应该尽量避免使用包含//缩写的表达式,因为这可能效率非常低.仅在事先不知道XML文档的结构时才使用'//'.
最佳答案:
ExpressionSelectingTheChildNode/..
Run Code Online (Sandbox Code Playgroud)
您..用来获取父对象,如下所示:
../childnode1
Run Code Online (Sandbox Code Playgroud)
因此,如果您有一些这样的XML文档:
<a id="1">
<b id="2">
<c id="3">
<d id="4"/>
</c>
<c id="5"/>
<c id="6">
<d id="7"/>
</c>
</b>
</a>
Run Code Online (Sandbox Code Playgroud)
然后是XQuery
//../d[@id = "4"]
Run Code Online (Sandbox Code Playgroud)
将返回c与节点id的3。
| 归档时间: |
|
| 查看次数: |
21041 次 |
| 最近记录: |