加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Groovy 操作xml

发布时间:2020-12-14 16:54:38 所属栏目:大数据 来源:网络整理
导读: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使用G
<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()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读