我有一个巨大的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。
答案 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);