Monday, January 23, 2012
基本的に http://docs.codehaus.org/display/GROOVY/Updating+XML+with+XmlParser に全部書いてある。
MarkupBuilder で XML を作成し、それを XmlParser でパースしたあと、さらに XmlNodePrinter で元のXMLに戻す例。
def fix = { String text->
def out=''<<''
new StringReader(text).each{ out << it.trim() }
out.toString()
}
def xml = new StringWriter()
def builder = new groovy.xml.MarkupBuilder(xml)
builder.root {
p('hello world!')
}
def root = new XmlParser().parseText( xml.toString() )
def writer = new StringWriter()
new XmlNodePrinter(new PrintWriter(writer)).print(root)
assert fix(writer.toString())==fix(xml.toString())