我已經設法以我想要的方式寫入一個xml文件,但它只會在程序退出後更新文件。我希望在按下按鈕後立即更新文件。如何在程序運行時寫入xml文件?
這裏是我使用的代碼。它在JButton被點擊時運行。
try {
documentFactory = DocumentBuilderFactory.newInstance();
documentBuilder = documentFactory.newDocumentBuilder();
xmlDoc = documentBuilder.parse(Reminders.class.getResourceAsStream("Reminders.xml"));
} catch(ParserConfigurationException | SAXException | IOException e) {
e.printStackTrace();
}
Node rNode = xmlDoc.getChildNodes().item(0);
Node remindersNode = xmlDoc.getElementsByTagName("reminders").item(0);
Node newReminder = xmlDoc.createElement("r" + remindersNode.getChildNodes().getLength()/2);
// Elements are created and put together
// Redacted because they take up too much space
OutputFormat outFormat = new OutputFormat(xmlDoc);
outFormat.setIndenting(true);
try {
FileOutputStream outStream = new FileOutputStream("src/virtualagenda/Reminders.xml");
XMLSerializer serializer = new XMLSerializer(outStream, outFormat);
serializer.serialize(xmlDoc);
outStream.flush();
outStream.close();
}catch(IOException e) {e.printStackTrace();}
該文件是_updated_或_created_?當它不在之前,你能看到它被創建嗎? – ptrk
它正在更新。我必須手動創建該文件並在其工作之前添加幾個節點。 – alexanderd5398
但是源代碼和目標路徑是不同的:「Reminders.xml」vs「src/virtualagenda/Reminders.xml」 – ptrk