は、このXMLを考えると、それぞれの子ノードの親ノードの値を取得:のxpath:
<child id="1" name="alpha" >Some Text</child
<child id="2" name="beta" >
<grandchild id="2.1"></grandchild>
<grandchild id="2.2"></grandchild>
</child>
<child id="3" name="gamma" mark="yes" >
<grandchild id="3.1" name="gamma-alpha"> </grandchild>
<grandchild id="3.2" name="gamma-beta" ></grandchild>
</child>
あり4つの孫ノードである、と私は両親のすべてを取得したい(することが起こるました私のサンプルデータ内の "子"ノード)のid値。私自身の微弱な試み:
//孫/親::子/ @ IDを
リターン:
text{"2"},
text{"3"}
だけではなく、
text{"2"},
text{"2"},
text{"3"},
text{"3"}
は、私が見てみたいものです。
答えは技術的には正しいものの、なぜ重複が現れないのか説明していません。 XPathは、必須ではなくノードセットで機能します。セットは、定義によって重複を含むことはできません。 – Lucero
XPathがセットでのみ動作する場合、XPath 2.0または3.0の提案は機能しません。私は、ノードを選択するステップが重複を排除し、XPath 2.0と3.0のデータモデルと仕様の意味で正しいことを説明しました。 XPath 1.0がノードセットで動作することは間違いありません。 –
はい、私はそれを指摘してくれてありがとう、XPath 1.0を意味すると書いたはずです。 – Lucero