Загрузите, измените и запишите XML-документ в Groovy

У меня есть XML-документ, который я хочу загрузить из файла, изменить несколько определенных элементов и затем записать обратно к диску.

Я не могу найти примеры того, как сделать это в Groovy.

19
задан lospejos 27 March 2018 в 11:50
поделиться

2 ответа

Вы можете просто изменить свойство 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>
*/
38
ответ дан 30 November 2019 в 03:02
поделиться
1
ответ дан 30 November 2019 в 03:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: