我正在使用XML和XQuerie。我通常使用相对于父节点的XPath表达式来检索其子节点。但是,如果我有一个子节点,如何检索其父节点,我不知道如何做相反的意思。
<node id="50> <childnode1 childid="51" /> <childnode2 childid="52" /> </node>
如果我有节点< childnode1 childid =“51”/>,我如何检索其父节点:< node id =“50>
简答:
..
这将选择当前(上下文)节点的父节点。
更长的一般答案:
//node()[childnode1/@childid="51"]
这将选择文档中具有名为childnode1的子元素的任何节点,该节点具有attibute子id,值为’51’。
应该尝试避免包含//缩写的表达式,因为这可能非常低效。只有提前知道XML文档的结构时才使用’//’。
最佳答案:
ExpressionSelectingTheChildNode/..