使用dom4j使用密钥创建xpath

时间:2012-05-09 14:06:42

标签: java xpath dom4j

有人知道在使用dom4j元素时如何使用键自动获取xpath吗?

让我解释一下:

鉴于以下xml,我创建了一个dom4j文档。

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

循环浏览文档,我可以使用element.getUniquePath()element.getPath()

为每个元素创建一个xpath
/response/installation[1]/code
or
/response/installation/code

到目前为止一直很好,但还不够好。由于对象的顺序永远无法预先知道,我想在我的xpath中使用key。

 /response/installation[id=0001]/code

现在我的问题是,是否有人知道如何做到这一点。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我不知道如何改变getUniquePathgetPath背后的策略。

如果您遍历代码元素,则可以通过在id之前检索code标记的文本内容来检索前一个兄弟并生成一个XPath。

否则此XPath将起作用:/response/installation/code[preceding-sibling::id[text()=0002]]