Как выполнить итерацию, если первый дочерний узел соответствует переходу на следующий узел в коде Java - PullRequest
0 голосов
/ 28 марта 2020
<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, который я использую. Мне нужно получить значение узла child3, если мой узел child1 совпадает в Java коде. Если 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);

1 Ответ

0 голосов
/ 28 марта 2020

Если ваш полный XML выглядит так (обратите внимание, я добавил элемент root и удалил пробел после 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

...