なぜxpath.selectnodes(コンテキスト)がjdomのドキュメント全体を使用するのですか

StackOverflow https://stackoverflow.com/questions/4896182

  •  28-10-2019
  •  | 
  •  

質問

いくつかの異なるコンテキストで同じクエリを実行しようとしていますが、常に同じ結果が得られます。これは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仕様の一部。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top