Node.getChildNodes()此方法返回一个NodeList. 假如有5个<attribute>子节点, 而这个方法会返回的有8个节点, 多了3个节点, 这3个节点是#Text类型没任何用处. 这样导致我循环的时候要去判断一下.
if (Node.getNodeType == Element.Element_NODE)
请问有什么方法可以返回正常的5个节点吗?
另外我不想扩展和用第三方jar包, 最好能直接调用标准库里面的方法.

解决方案 »

  1.   

    have a try
    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
        }
    }
      

  2.   

    getElementsByTagName
    就行了,送*进去匹配所有子(孙)元素。或者考虑XPath啊,也是标准库中API。