下面演示一些简单操作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/