Вы просто меняете значение в памяти, а не в самом файле. Вам необходимо записать измененный документ обратно в файл:
Source source = new DOMSource(doc);
Result result = new StreamResult(new File(fileName));
Transformer xformer;
try {
xformer = TransformerFactory.newInstance().newTransformer();
xformer.transform(source, result);
} catch (TransformerConfigurationException e) {
// TODO Auto-generated catch block
} catch (TransformerFactoryConfigurationError e) {
// TODO Auto-generated catch block
} catch (TransformerException e) {
// TODO Auto-generated catch block
}
Все эти классы происходят от javax.xml.transform.*
.
(Конечно, вам нужно сохранить ссылку на документ, чтобы вы могли написать обратно (т.е. вы не сможете продолжать передавать его непосредственно в evaluate
)).