当有多个具有相同名称的父节点

时间:2016-06-08 21:04:16

标签: java xml xml-parsing javax.xml

我有以下格式的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 个答案:

没有答案