我需要处理某种XML文件的某些字段,并将数据写回当前项目中的XML。在XML文件中读取时,XmlSlurper
非常棒。但是,在groovy中有一种同样方便的方法可以将XmlSlurper
中的内容写回XML吗?提前谢谢。
答案 0 :(得分:2)
@Mataniko是对的,请考虑一下:
import groovy.xml.*
def xmlText = '''<items>
<media>
<id>1</id>
<title>Hello</title>
</media>
</items>'''
// Parse the XML into a GPathResult
def xml = new XmlSlurper().parseText( xmlText )
// Change the id to 4
xml.media.id = '4'
// Print it all back out
println XmlUtil.serialize( new StreamingMarkupBuilder().bind { mkp.yield xml } )
答案 1 :(得分:1)
您正在寻找的是MarkupBuilder类:Creating XML using Groovy's MarkupBuilder
一个简单的用法:
def writer = new StringWriter()
def xml = new MarkupBuilder(writer)
xml.items() {
media{
id(1)
title("Hello")
}
}
输出:
<items>
<media>
<id>1</id>
<title>Hello</title>
</media>
</items>