2016-10-19 10 views
0

共通のパス接頭辞を持つXPath式のリストがあります。複数の.evaluate呼び出し、XPath Java

Elements/Bills/Amount/USD 
Elements/Id 

私が最初にされません全ての要素ノードを取得し、その後、指定されたノードのために、それは私がしたい2つのデータポイントが含まれているかどうかを確認したい(私が行う必要があります。例えば、私のようなものを持っているかもしれません各ノードを上から順にチェックしてください)。 node.get(/Bills/Amount/USD), node.get(/Id)のようなものは完璧です。しかし、Elementsをコンパイルし、実行した後(xPath.compile(Elements).evaluate(doc, XPathConstants.NODESET);)私が何をすべきかわからない。

答えて

0

nodeevaluate()への後続の呼び出しに。最初の呼び出しは、ルートを意味し、「文脈」(https://msdn.microsoft.com/en-us/library/ms256199(v=vs.110).aspx)としてドキュメントを使用していましたXMLドキュメントの(基本的には検索から始まる)コンテキストと考えられた。

私はちょうどでevaluate()に私の次の呼び出しのためのパスの残りの部分とすることを渡されたノードがあったら。

最初電話(Elementsのリストを返しました):

xPath.compile("Elements").evaluate(doc, XPathConstants.NODESET) 

(現在Elementノードの子であるすべてのUSD要素戻さ)第二の呼び出し:

xPath.compile("./Bills/Amount/USD").evaluate(node, XPathConstants.NODESET) 
関連する問題