Как обновить файл XML после изменения узла? [Дубликат]

Этот вопрос является точной копией:

Как вы мгновенно обновляете XML-документ после добавления в него узла? 1 ответ

Я использую Node.setTextContent () для редактирования узла, но он ничего не меняет в файле. Если я распечатаю текстовое содержимое после того, как оно будет отображаться как измененное, но оно не будет сохраняться после закрытия программы.

    for (int y=0; y<calendarDataNode.getChildNodes().getLength(); y++) {
        //if (year node name == "y" + current year)
        if (calendarDataNode.getChildNodes().item(y).getNodeName().equals("y" + Main.year)) {
            //for (int m=0; m<number of child nodes of year node; m++)
            for (int m=0; m<calendarDataNode.getChildNodes().item(y).getChildNodes().getLength(); m++) {
                //if (month node name == "m" + current month)
                if (calendarDataNode.getChildNodes().item(y).getChildNodes().item(m).getNodeName().equals("m" + (Main.month_index-1))) {
                    //for (int d=0; d<number of child nodes of month node; d++)
                    for (int d=0; d<calendarDataNode.getChildNodes().item(y).getChildNodes().item(m).getChildNodes().getLength(); d++) {
                        //label node
                        node = calendarDataNode.getChildNodes().item(y).getChildNodes().item(m).getChildNodes().item(d).getChildNodes().item(0);
                        node.setTextContent(tf_label.getText());

                    }    
                }
            }
        }
    }

    try (FileOutputStream outStream = new FileOutputStream("Calendar.xml")) {
        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");


        DOMSource domSource = new DOMSource(xmlDoc);
        StreamResult sr = new StreamResult(outStream );
        tf.transform(domSource, sr);
    } catch (TransformerException | IOException e) {e.printStackTrace(System.out);}

Ответы на вопрос(1)

Ваш ответ на вопрос