2012-05-09 6 views
0

dom4j要素を使用しているときに自動的にキーでxpathを取得する方法を知っていますか?dom4jを使ってキーでxpathを作成する

は私に説明してみましょう:

は、私はdom4jのドキュメントを作成した次のXMLを考えます。文書をループ

<response> 
    <installation> 
    <id>0001</cid> 
    <code>0000</code> 
    </installation> 
    <installation> 
    <id>0002</cid> 
    <code>0078</code> 
    </installation> 
</response> 

は私がelement.getUniquePath()または

/response/installation[1]/code 
or 
/response/installation/code 

これまでのところは良いelement.getPath()を使用して、各要素のXPathを作成するのではなく、十分にかなり良いことができません。オブジェクトの順序は決して事前に知ることができないので、私はxpathにkeyを使用したいと思います。

/response/installation[id=0001]/code 

ここで私の質問は誰かがこれを行う方法を知っている場合です。

ありがとうございます。

答えて

1

getUniquePathgetPathの背後にある戦略を変更する方法はわかりません。

コードである要素を反復処理する場合は、先行する兄弟を取得して、それを持つXPathを生成することができます。idタグのテキストコンテンツをcodeの前に取得します。

これ以外の場合、このXPathは動作します。/response/installation/code[preceding-sibling::id[text()=0002]]

関連する問題