Как читать дочерние узлы определенного родительского узла, когда есть несколько родительских узлов с одинаковым именем

У меня есть XML следующего формата:

<Root> 
    <Delivery deliveryID="01">
        <Product productID="001">
           <name>test</name>
        </Product>
        ..........
        ..........
        ..........
        <Product productID="08">
           <name>test</name>
        </Product>
    </Delivery>
    <Delivery deliveryID="02">
        <Product productID="001">
           <name>test</name>
        </Product>
        ..........
        ..........
        ..........
        <Product productID="012">
           <name>test</name>
        </Product>

    </Delivery>
  </Root>

Есть ли способ прочитать только дочерние узлы первого элемента доставки? Обратите внимание, что количество дочерних узлов внутри элементов доставки может варьироваться.

Я использовал приведенный ниже код, но он работает только тогда, когда я знаю правильное количество элементов, которые появятся внутри тега доставки. Когда количество продуктов внутри первой доставки меняется, я не могу найти его

    NodeList nList1 = doc.getElementsByTagName("Delivery");
        for (int i = 0; i < nList1.getLength(); i++) {
           Node nNode = nList1.item(i);
           if (nNode.getNodeType() == Node.ELEMENT_NODE) {
        Element eElement = (Element) nNode;
        System.out.println("Product : "+ eElement.getElementsByTagName("name").item(i).getTextContent());
    }
}

Моя основная проблема заключается в том, что неизвестный номер дочернего узла с тем же именем, что и дочерние узлы других узлов.

0 ответов

Другие вопросы по тегам