java - 如何从 xml 读取多个子项

标签 java xml xpath

在我的项目中我们使用xpath 从 xml 中提取值

例如:

String AntLid = "/DokxAPI/DokxReply/ReplyBody/Service-Impact-Rep/AntLid/text()";

现在 xml 已更改,就像一个盖子列表最多有 13 个子项 像这样的事情

<LidList>
  <Lid>33333,33333,33333</Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
</LidList>

以前 是这样的

<LID-List>
  <LID>333333333,333333333,333333333,</LID>
</LID-List>

所以我曾经提取

String expressionLID =
    "/DokxAPI/DokxReply/ReplyBody/Service-Impact-Rep/Lid-List/Lid/text()";

但是现在..xml 已经改变了..正如 b4 所说..它可以有 13 个 child ..最大 13,最小 1 sooo我如何获取每个子列表的值<lid>

最佳答案

首先,确保 XPath 中的元素名称与输入中实际元素的大小写匹配,例如LID .

除此之外,您的 XPath 表达式

"/DokxAPI/DokxReply/ReplyBody/Service-Impact-Rep/Lid-List/Lid/text()"

已选择全部 <LID> <LID-List> 的 child 。只需在 Java 代码中迭代它们即可。如果您在该部分遇到问题,请显示您的 java 代码。

关于java - 如何从 xml 读取多个子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4405961/

相关文章:

java - 从字符串中获取整数值并将其加倍

java - 在 Java 中使用 XPath 解析 XML - 在 Java 中使用 Xpath 和 NodeList 从 XML 文件中获取数据

xml - 用于从 XML 文件中选择不同值的 XPath

java - .txt 限制,需要帮助

java - 为什么 Maven 覆盖范围不能被传递地识别?

Java - 为什么我们在构造函数中使用 "this"关键字?

regex - 如何在正则表达式中包含双引号(“)

java - Java 中的多模式验证

javascript - 用于提取html标签的xpath

c - xpath 和命名空间的另一个问题