Java/Xpath——在相似实体中提取特定值

标签 java xml parsing xpath

所以我有一个格式如下的 xml 文件

<TopXmlTree>
    <IndentedItem1>
        <subvalue1>
        <subvalue2>
        <subvalue3>
    <IndentedItem1> (Same name as above but a different subset)
        <subvalue1>
        <subvalue2>
        <subvalue3> <<-- I want to get this value

假设我想获取上面的值,有什么方法可以使用 Xpath 来做到这一点吗?通常我的 Xpath 代码很简单,例如

XPathExpression expr = xpath.compile("/TopXmlTree/IndentedItem1/Subvalue1/text()");

鉴于目前的情况,我显然无法做到这一点。

谢谢!

最佳答案

您需要获取第二个 IndentedItem1 子集的 subvalue3 值,因此它看起来像这样:

XPathExpression expr = xpath.compile("//TopXmlTree/IndentedItem1[2]/subvalue3/text()");

关于Java/Xpath——在相似实体中提取特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10637866/

相关文章:

java - Spring Cucumber Serenity 的 Autowiring 步骤

java - 添加操作按钮 : action_search cannot be resolved or is not a field

c - 在 C 中使用 sscanf 从文件中读取多行字符串

c# - 将解析 XML 字符串发送到 xDocument

json - ELM 解析嵌套的 json

java - 在 AEM 的 Servlet 中获取 JSP 输出

java - 不显示数据库中的 ID

Java程序分隔整数

xml - 如何使用 XPath 或 XSLT 将首字母更改为小写

xml - 错误 CNDL0200 : WixBalExtension Schema