无法删除节点

时间:2016-06-15 16:39:58

标签: java xml dom sax

经过多次尝试,我得到了这段代码。但不幸的是我无法删除节点。我的输入和输出XML完全相同。

 private void removeEmptyChildElements(Document doc) throws TransformerFactoryConfigurationError, TransformerException {
      NodeList nodeList = doc.getElementsByTagName("item");

    for (int i=0; i<nodeList.getLength(); i++) {
        Node node = nodeList.item(i);

        if (node.getAttributes().getNamedItem("text").getNodeValue().equals("PAL")) {

            if (node.hasChildNodes()) {
                node.getParentNode().removeChild(node);
            }               
        } else if (node.getAttributes().getNamedItem("text").getNodeValue().equals("HAL")) {

            if (node.hasChildNodes()) {
                node.getParentNode().removeChild(node);
            }               
        } else if (node.getAttributes().getNamedItem("text").getNodeValue().equals("fName")) {

            if (node.hasChildNodes()) {
                node.getParentNode().removeChild(node);
            }               
        } else if (node.getAttributes().getNamedItem("text").getNodeValue().equals("LName")) {

            if (node.hasChildNodes()) {
                node.getParentNode().removeChild(node);
            }               
        }
    }

StringWriter sw = new StringWriter(); 
     Transformer serializer = TransformerFactory.newInstance().newTransformer(); 
     serializer.transform(new DOMSource(nodeList.item(0)), new StreamResult(sw));   
     String result = sw.toString(); 
     System.out.println(result);
}

一开始我有62个节点,最后我期待最多51个节点。

0 个答案:

没有答案