【问题标题】:How to iterate if first child node matches move to next node in Java code如果第一个子节点匹配移动到Java代码中的下一个节点,如何迭代
【发布时间】:2020-07-09 01:46:06
【问题描述】:
<parent>         
  <child1>FIN </child1>
  <child2>Age 13</child2>
  <child3>Chennai</child3>
</parent>
<parent>
  <child1>FRE</child1>
  <child2>Age 15</child2>
  <child3>Delhi</child3>
</parent>

这是我正在使用的 XML。如果我的 child1 节点在 Java 代码中匹配,我需要获取一个值 child3 节点。如果 FIN 匹配,我需要获取 child3 "Chennai" 的值。我正在使用 DoumentBuilderFactory 来读取 XML。 帮我解决这个logic.looking 的Java 编码问题。

for( int i = 0; i< PatientVariables.length; i++){
  // loop the staff child node
  NodeList patientlist = PatientVariables[i].getChildNodes();

  for (int i = 0; i < patientlist.getLength(); i++) {
    Node node = patientlist.item(i);

【问题讨论】:

  • 贴出你已经写好的完整代码。
  • 欢迎来到 SO。请采取tour 并查看How do I ask a good question?
  • 用基于文本的实际 html 来更新问题,而不是手工制作的 html。

标签: java xml selenium pom.xml


【解决方案1】:

如果您的完整 XML 看起来像这样(请注意,为了简单起见,我已经添加了根元素并删除了 FIN 之后的空格)

<root>
       <parent>         
       <child1>FIN</child1>
       <child2>Age 13</child2>
       <child3>Chennai</child3>
       </parent>
       <parent>
       <child1>FRE</child1>
       <child2>Age 15</child2>
       <child3>Delhi</child3>
       </parent>
</root>

您可以通过 xpath 找到您要查找的元素: //parent/child1[text()='FIN']/following-sibling::child3

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-20
  • 1970-01-01
  • 2018-07-16
  • 1970-01-01
  • 2020-08-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多