简体   繁体   English

从XML Java删除节点

[英]delete nodes from XML java

I have a huge XML file and I want to delete all elements except two in java. 我有一个巨大的XML文件,我想删除Java中除两个元素以外的所有元素。 Example : 范例:

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

out put should be : 输出应该是:

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

Any help is much appreciated thnx. 任何帮助深表感谢。

NodeList childeren = rootNode.getChildNodes();

remove relevant child nodes by iterating and removing desired node 通过迭代和删除所需的节点来删除相关的子节点

  rootNode.removeChild(child)

And write back your changes to the file. 并将您所做的更改写回文件。

// 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);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM