【问题标题】:Create xpath with key using dom4j使用 dom4j 创建带密钥的 xpath
【发布时间】:2012-05-09 14:06:41
【问题描述】:

有人知道在使用 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

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

提前致谢。

【问题讨论】:

    标签: java xpath dom4j


    【解决方案1】:

    我不知道有什么办法可以改变getUniquePathgetPath背后的策略。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      • 2019-04-02
      • 1970-01-01
      • 2018-09-01
      • 1970-01-01
      相关资源
      最近更新 更多