我覺得這個鏈接可能對你有用。
在這裏,你有如何讀/解析,修改(添加元素)和保存(再次寫入XML文件)的示例。
下面的示例,你可以在這裏找到:http://www.petefreitag.com/item/445.cfm
閱讀:
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse("/path/to/file.xml");
修改:
// attributes
Node earth = doc.getFirstChild();
NamedNodeMap earthAttributes = earth.getAttributes();
Attr galaxy = doc.createAttribute("galaxy");
galaxy.setValue("milky way");
earthAttributes.setNamedItem(galaxy);
// nodes
Node canada = doc.createElement("country");
canada.setTextContent("ca");
earth.appendChild(canada);
寫XML文件:
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
//initialize StreamResult with File object to save to file
StreamResult result = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
String xmlString = result.getWriter().toString();
System.out.println(xmlString);
在文件中讀取,在內存中進行修改,寫出完整的文件一個新的。你還沒有陷入使用平面文件作爲數據庫的陷阱? –
@ThorbjørnRavn Andersen - XML並非真正的平面文件格式。 –
@DonRoby真的嗎?那麼它是什麼(當在這種情況下它被存儲在一個文件中)? –