从XML java中删除节点

时间:2013-06-17 20:32:11

标签: xml dom xml-parsing

我有一个巨大的XML文件,我想删除除了java中的两个元素之外的所有元素。示例:

<?xml version="1.0" encoding="windows-1252"?>
    <root>
      <c1></c1>
      <c1></c1>
      <c2></c2>
      <c3></c3>
      <c1></c1>
      .
      .
      .
      <cn></cn>
    </root>
</xml>

out put应该是:

<?xml version="1.0" encoding="windows-1252"?>
    <root>
      <c1></c1>
      <c1></c1>
      <c2></c2>
      <c1></c1>
    </root>

任何帮助都非常感谢thnx。

1 个答案:

答案 0 :(得分:1)

NodeList childeren = rootNode.getChildNodes();

通过迭代并删除所需的节点来删除相关的子节点

  rootNode.removeChild(child)

并将您的更改写回文件。

// write back to xml file

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File(filepath));
transformer.transform(source, result);