Node.getChildNodes()此方法返回一个NodeList. 假如有5个<attribute>子节点, 而这个方法会返回的有8个节点, 多了3个节点, 这3个节点是#Text类型没任何用处. 这样导致我循环的时候要去判断一下.
if (Node.getNodeType == Element.Element_NODE)
请问有什么方法可以返回正常的5个节点吗?
另外我不想扩展和用第三方jar包, 最好能直接调用标准库里面的方法.
if (Node.getNodeType == Element.Element_NODE)
请问有什么方法可以返回正常的5个节点吗?
另外我不想扩展和用第三方jar包, 最好能直接调用标准库里面的方法.
if (your_node instanceof Element) {
NodeList nl = ((Element)your_node).getElementsByTagName("attribute");
System.out.println(nl.getLength());
for (int i=0; i<nl.getLength(); i++) {
Node n = nl.item(i);
//do something here
}
}
就行了,送*进去匹配所有子(孙)元素。或者考虑XPath啊,也是标准库中API。