xml Java不会删除该元素

时间:2016-02-23 09:36:56

标签: java xml dom

我正在尝试使用removeChild()从xml文件中删除元素。即使它说操作成功,它仍然存在并且可以打印。

DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();

        DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
        Document doc = docBuilder.parse(new File("/home/sr-user1/Téléchargements/Test/intense172E.xml"));

        Element output = (Element) doc.getElementsByTagName("output").item(0);

         output.getParentNode().removeChild(output);
         System.out.println(output.getTextContent());

2 个答案:

答案 0 :(得分:1)

Node.removeChild(Node)不会使子节点无效,它只是将其与父节点分离。可以再次使用子节点,例如添加到另一个节点。

答案 1 :(得分:1)

方法

$ git commit -am "Add hello"
$ heroku create
$ git push heroku master

将从父节点(在您的情况下为doc)中删除该节点,但您仍将获得有关该节点的信息。自打印以来

 output.getParentNode().removeChild(output);     

您仍然收到节点中存在的文字。您需要打印doc的内容以检查它是否已从原始xml中成功删除。

编辑:如果您想要修改原始xml文件,则需要通过执行以下操作再次编写它:

 output.getTextContent()