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()或为每个元素创建一个 xpathelement.getPath()

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

到目前为止还不错,但还不够好。由于无法提前知道对象的顺序,我想在我的 xpath 中使用 key。

 /response/installation[id=0001]/code

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

提前致谢。

4

1 回答 1

1

我不知道有什么办法可以改变 and 背后的getUniquePath策略getPath

如果您迭代作为代码的元素,您可以检索前面的同级并使用它生成一个 XPath,方法是检索id前一个标记的文本内容code

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

于 2012-05-09T14:20:54.750 回答