Replace...
OutputFormat outFormat = new OutputFormat(xmlDoc);
try (FileOutputStream outStream = new FileOutputStream("src/virtualagenda/Calendar.xml")) {
XMLSerializer serializer = new XMLSerializer(outStream, outFormat);
serializer.serialize(xmlDoc);
outStream.close();
}catch(IOException e) {e.printStackTrace(System.out);}
With something more like...
Transformer tf = TransformerFactory.newInstance().newTransformer();
tf.setOutputProperty(OutputKeys.INDENT, "yes");
tf.setOutputProperty(OutputKeys.METHOD, "xml");
tf.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
try (FileOutputStream outStream = new FileOutputStream("Calendar.xml")) {
DOMSource domSource = new DOMSource(document);
StreamResult sr = new StreamResult(outStream );
tf.transform(domSource, sr);
} catch (TransformerConfigurationException, TransformerException exp) {
exp.printStackTrace();
}
Updated with runnable example
So using...
yellow
orange
yellow
And then using...
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new File("Calendar.xml"));
NodeList nodeList = document.getDocumentElement().getChildNodes();
for (int index = 0; index < nodeList.getLength(); index++) {
Node node = nodeList.item(index);
if (node.getNodeType() != Node.TEXT_NODE) {
node.setTextContent("Some text");
}
}
Transformer tf = TransformerFactory.newInstance().newTransformer();
tf.setOutputProperty(OutputKeys.INDENT, "yes");
tf.setOutputProperty(OutputKeys.METHOD, "xml");
tf.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
try (FileOutputStream os = new FileOutputStream(new File("Calendar.xml"))) {
DOMSource domSource = new DOMSource(document);
StreamResult sr = new StreamResult(os);
tf.transform(domSource, sr);
}
} catch (SAXException | TransformerException | IOException | ParserConfigurationException ex) {
ex.printStackTrace();
}
Outputs...
Some text
Some text
Some text
The transformation code works, there is something else within your code which you're not showing us which isn't working...