如何使用Groovy高效編程對生成較爲複雜的XML文件?

在《Groovy高效編程——生成XML文件》中,我給你們介紹了Groovy中MarkupBuilder的用法,在這篇隨筆中,我將使用StreamingMarkupBuilder來生成更復雜的XML文件:編程

import groovy.xml.StreamingMarkupBuilderide

def friendList = ['Tony', 'Alan', 'Leona', 'Cloudy']
def xml = new StreamingMarkupBuilder().bind {
    mkp.pi(xml: "version='1.0'  encoding='UTF-8'")
   
    mkp.declareNamespace(ns:" ")
    person {
        ns.name(type: "nickname", "BlueSUN")
        ns.address "Shanghai"
        ns.friends(num: friendList.size()) {
            for (f in friendList) {
                ns.friend f
            }
        }
    }
}
println xmlui

運行結果:spa

<?xml version="1.0" encoding="UTF-8"?>
<person xmlns:ns="">
    <ns:name type="nickname">BlueSUN</ns:name>
    <ns:address>Shanghai</ns:address>
    <ns:friends num="4">
        <ns:friend>Tony</ns:friend>
        <ns:friend>Alan</ns:friend>
        <ns:friend>Leona</ns:friend>
        <ns:friend>Cloudy</ns:friend>
    </ns:friends>
</person>
代碼和運行結果有着十分明顯的關聯關係,因此使用StreamingMarkupBuilder和MarkupBuilder來生成XML文件是十分方便的。注意StreamingMarkupBuilder要比MarkupBuilder強大許多,但生成的XML的文件不‘漂亮’,若是生成的XML是用於程序配置的,不是給人看的,那麼我強烈推薦使用StreamingMarkupBuilder。你們能夠將《Groovy高效編程——生成XML文件》中的練習用StreamingMarkupBuilder來實現一下
 xml

相關文章
相關標籤/搜索