通过java写入XML文件不起作用

时间:2016-02-20 12:07:45

标签: java xml dom

我正在尝试创建名为Log的节点,其中包含这些标签的日期,消息,类型。我写了一个完成我工作的功能。不知怎的,它不会产生任何异常,但它仍然不起作用。我没有得到那个标签。任何人能告诉我哪里出错了吗?

void writeToXML(String date,String message,String type)
{
    try {
        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
        Document document = documentBuilder.parse("D:\\Log.xml");
        Element root = document.getDocumentElement();
        Element newlog = document.createElement("log");
        Element name = document.createElement("date");
        name.appendChild(document.createTextNode(date));
        Element name1 = document.createElement("type");
        name1.appendChild(document.createTextNode(type));
        Element name2 = document.createElement("message");
        name2.appendChild(document.createTextNode(message));
        newlog.appendChild(name);
        newlog.appendChild(name1);
        newlog.appendChild(name2);
        root.appendChild(newlog);
        System.out.println(root.getTextContent()+"     "+document.getTextContent());

        System.out.println("Dude working");

    }
    catch(Exception e)
    {
        System.out.println(e.toString());
    }

}

1 个答案:

答案 0 :(得分:1)

您需要TransformerFactory来保存更改。

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File("D:\\Log.xml"));
transformer.transform(source, result);
相关问题