0

我正在尝试将一些数据添加到现有的 xml 文件中。这就是我所做的:

try {
    String filepath = "/askhsh3/WebContent/askisi3.xml";
    DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
    Document doc = docBuilder.parse(filepath);

    // Get the root element
    Node rootn = doc.getFirstChild();

    //Node staff = doc.getElementsByTagName("staff").item(0);

    // append a new node to staff
    Document doc2 = docBuilder.newDocument();
    Element patient = doc2.createElement("patient");

    Element st_as = doc.createElement("stoixeia_astheni");
    for(int i=1;i<=9;i++){
        Element tmp= doc2.createElement(elem[i]);
        tmp.appendChild(doc.createTextNode("aaa"));
        st_as.appendChild(tmp);
    }

    patient.appendChild(st_as);
    rootn.appendChild(patient);
    doc.appendChild(rootn);

} catch (ParserConfigurationException pce) {
    pce.printStackTrace();
} catch (IOException ioe) {
    ioe.printStackTrace();
} catch (SAXException sae) {
    sae.printStackTrace();
}

我想在现有的 xml 中创建一些文本节点。

4

1 回答 1

1

好吧,您正在修改内存中的 xml 文档,但您并没有将其保存回文件中,这不会自动发生。您需要明确地编写它。这是一些示例代码:

TransformerFactory tf = TransformerFactory.newInstance();
Transformer trans = tf.newTransformer();
OutputStream out = new FileOutputStream(filepath);
trans.transform(new DOMSource(doc), new StreamResult(out));
于 2013-05-25T19:30:50.353 回答