0

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

説明させてください:

次の xml を指定して、dom4j ドキュメントを作成しました。

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

element.getUniquePath()ドキュメントをループして、またはを使用して各要素の xpath を作成できますelement.getPath()

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

ここまでは順調ですが、十分とは言えません。オブジェクトの順序を事前に知ることはできないため、xpath でキーを使用したいと考えています。

 /response/installation[id=0001]/code

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

前もって感謝します。

4

1 に答える 1

1

getUniquePathと の背後にある戦略を変更する方法がわかりませんgetPath

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

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

于 2012-05-09T14:20:54.750 に答える