如何从xml中读取多个子元素

时间:2010-12-10 05:29:01

标签: 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个孩子。最大13,最小1 sooo如何获取每个子列表<lid>

的值

1 个答案:

答案 0 :(得分:4)

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

除此之外,您的XPath表达式

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

已经选择了<LID>的所有<LID-List>个孩子。这只是在Java代码中迭代它们的问题。如果您在使用该部分时遇到问题,请显示您的java代码。