在java中使用ArrayList删除节点
我有一个方法可以检索XML文件的所有节点,我需要删除某个节点(不知道其名称、父节点或任何内容)。我所拥有的只是包含“Ex2.xml”中所有节点的在java中使用ArrayList删除节点,java,xml,dom,Java,Xml,Dom,我有一个方法可以检索XML文件的所有节点,我需要删除某个节点(不知道其名称、父节点或任何内容)。我所拥有的只是包含“Ex2.xml”中所有节点的ArrayList,但当我尝试使用以下方法删除该节点时,该节点仍显示在xml文件中: BN2.get(5.getParentNode().removeChild(BN2.get(5)) 注意:BN2是包含节点的ArrayList File xmlFile = new File("Ex2.xml"); DocumentBuilderFactory dbFa
ArrayList
,但当我尝试使用以下方法删除该节点时,该节点仍显示在xml文件中:
BN2.get(5.getParentNode().removeChild(BN2.get(5))代码>
注意:BN2是包含节点的ArrayList
File xmlFile = new File("Ex2.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder;
dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(xmlFile);
doc.getDocumentElement().normalize();
BN2.get(5).getParentNode().removeChild(BN2.get(5));
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource domSource = new DOMSource(doc);
StreamResult streamResult = new StreamResult(new File("Ex2.xml"));
transformer.transform(domSource, streamResult);
XmL文件:虽然在此处编写,但未显示
<a>
<b>
<s>
<e>AAA</e>
<e>BBB</e>
<e>CCC</e>
</s>
<d>
<v>whatever</v>
<f>
</f>
</d>
</b>
AAA
BBB
CCC
无论什么
您正在读取doc
变量中的文件,从完全不相关的列表中删除一些元素BN2
,然后将文档写入该文件。为什么会从文档中删除任何内容。BN2
来自哪里?您可以添加填充BN2的代码吗?可能是xml的一个摘录?BN2由一个使用相同xml文件的类填充,这里是xml文件@AbbéRésina JB,问题是如果我需要从xml文件中删除一个我不知道的节点