天天看点

groovy入门6 xml简单操作

下面演示一些简单操作xml文件的方法,主要包括:1读取xml文件内容,2 字符串构建xml, 3 构建xml, 4 操作xml xml文件内容如下: <langs type="current">

  <language>Java</language>

  <language>Groovy</language>

  <language>JavaScript</language>

</langs>

//1读取xml文件中内容 def langs = new XmlParser().parse("E:\\language.xml") println "type= ${langs.attribute('type')}"//langs可以直接操作xml中内容了 langs.language.each{//十分强大的直接遍历language的内容     println it.text() }

//2 字符串变量和XML def xml =""" <langs type="current">   <language>Java</language>   <language>Groovy</language>   <language>JavaScript</language> </langs> """ def langs = new XmlParser().parseText(xml) println "type= ${langs.attribute('type')}"//langs可以直接操作xml中内容了 langs.language.each{//十分强大的直接遍历language的内容     println it.text() } //3 构建xml def str = new StringWriter() def xml = new groovy.xml.MarkupBuilder(str) xml.langs(type:"current",count:3){     language('java')     language('Groovy')     language('javascript') }

println str //4 操作xml def xml ="""

<langs type="current">

  <language>Java</language>

  <language>Groovy</language>

  <language>JavaScript</language>

</langs>

"""

def langs = new XmlParser().parseText(xml)

println "type= ${langs.attribute('type')}"//langs可以直接操作xml中内容了

langs.language.each{//十分强大的直接遍历language的内容

    println it.text()

}

[email protected] = 5;//增加属性

[email protected] = 'future';//修改属性

langs.remove(langs.language[1])//删除节点

println langs

println langs.language[0].text()

langs.value = langs.language.sort{

    it.text()

}.reverse()//给节点排序

println langs 由于没有操作添加xml节点的示例,如有知道者,请赐教

参考资料: http://www.ibm.com/developerworks/cn/java/j-pg05199/