我正在尝试将一些数据添加到现有的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中创建一些文本节点。
答案 0 :(得分:1)
好吧,您正在修改内存中的xml文档,但是您没有将其保存回文件,并且这不会自动发生。你需要明确地写它。以下是一些示例代码:
TransformerFactory tf = TransformerFactory.newInstance();
Transformer trans = tf.newTransformer();
OutputStream out = new FileOutputStream(filepath);
trans.transform(new DOMSource(doc), new StreamResult(out));