groovy 操作xml

<langs type='current' count='3' mainstream='true'>
  <language flavor='static' version='1.5'>Java</language>
  <language flavor='dynamic' version='1.6.0'>Groovy</language>
  <language flavor='dynamic' version='1.9'>JavaScript</language>
</langs>


//XmlParser使用Gpath,返回Node,NodeList,以及属性对应的Map
//所以你在访问xml文件中的属性时,也就如同访问list和map中的属性
def langs = new XmlParser().parseText(xml)
//获取属性
println langs.attribute("count")
//获取节点
langs.language.each{
  println it.text()
}
//结合使用Gpath和spread-dot
def values = langs.language*.text()

//使用XmlSlurper,返回的是groovy.util.slurpersupport.GPathResult
//使用XmlSluper访问xml时在写法上更加的便捷
langs = new XmlSlurper().parseText(xml)
println langs.language.@count
langs.language.each{
  println it
}


//构造xml
def out =new StringWriter()
def xml = new MarkupBuilder(out)
//构造一段xml如同构造一个java对象
//groovy引擎在找不到name方法,address方法时,自动识别为添加元素
xml.person{
	name(type:'berdy')
	address('上海')
	friends{
		for(i in 1..10)
			friend i
	}
}
println out.toString()

你可能感兴趣的:(groovy)