我有以下格式的 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());
}
}
我的主要问题是与其他节点的子节点同名的子节点数量未知 。