Groovy MY-NOTEBOOK

Monday, January 23, 2012

XmlParser でパースした XML文書 を処理した後に再度 XML文書に戻す

基本的に 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())



gist:1660755

© 2009-2012 Tomoaki Oshima