なぜxpath.selectnodes(コンテキスト)がjdomのドキュメント全体を使用するのですか
質問
いくつかの異なるコンテキストで同じクエリを実行しようとしていますが、常に同じ結果が得られます。これはXMLの例です。
<root>
<p>
<r>
<t>text</t>
</r>
</p>
<t>text2</t>
</root>
だからこれが私がしていることです:
final XPath xpath = XPath.newInstance("//t");
List<Element> result = xpath.selectNodes(thisIsThePelement);
// and I've debuged it, it really is the <p> element
そして、私はいつも両方を手に入れます <t>
結果リストの要素。私はただ必要です <t>
内側 <p>
私はに通り過ぎます XPath
物体。
どんなアイデアでも大きな助けになります、ありがとう。
解決
あなたが使用しています "//t"
あなたのxpathの表現として、それは正確に「すべてを見つけることを意味します t
ドキュメント内の要素」。
を見つけるだけです 子孫 t
コンテキストノードからの要素、使用 ".//t"
.
を参照してください 「省略構文」 詳細については、Xpath仕様の一部。
所属していません StackOverflow