下面示範一些簡單操作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/