У меня есть XML-документ, который я хочу загрузить из файла, изменить несколько определенных элементов и затем записать обратно к диску.
Я не могу найти примеры того, как сделать это в Groovy.
Вы можете просто изменить свойство value узла, чтобы изменить значения элементов.
/* input:
<root>
<foo>
<bar id="test">
test
</bar>
<baz id="test">
test
</baz>
</foo>
</root>
*/
def xmlFile = "/tmp/test.xml"
def xml = new XmlParser().parse(xmlFile)
xml.foo[0].each {
it.@id = "test2"
it.value = "test2"
}
new XmlNodePrinter(new PrintWriter(new FileWriter(xmlFile))).print(xml)
/* output:
<root>
<foo>
<bar id="test2">
test2
</bar>
<baz id="test2">
test2
</baz>
</foo>
</root>
*/
Здесь есть довольно исчерпывающий набор примеров для чтения / записи XML с использованием Groovy . Что касается загрузки / сохранения данных в / из файла, различные методы / свойства, которые Groovy добавляет в java.io.File
, должны обеспечивать необходимую вам функциональность. Примеры включают:
File.write(text)
File.text
File.withWriter(Closure closure)
См. здесь для получения полного списка этих методов / свойств.