利用Java來生成‘漂亮’的XML文件向來是一件比較麻煩的事,這里我通過Groovy來生成XML文件,代碼十分簡潔直觀:
import
?groovy.xml.MarkupBuilder
def?out?
=
?
new
?StringWriter()
def?xml?
=
?
new
?MarkupBuilder(out)
def?friendList?
=
?[
'
Tony
'
,?
'
Alan
'
,?
'
Leona
'
,?
'
Cloudy
'
,?
'
terry
'
]
xml.person?{
????name(type:
"
網名
"
, "山風小子")
????address?"上海"
????friends(num:?friendList.size())?{
????????for?(f?in?friendList)?{
????????????friend?f
????????}
????}
}
println?out.toString()
輸出結果:
<
person
>
??
<
name?
type
='網名'>山風小子</name>
??
<address
>
上海
</
address
>
??
<
friends?
num
='5'>
????
<friend
>
Tony
</
friend
>
????
<
friend
>
Alan
</
friend
>
????
<
friend
>
Leona
</
friend
>
????
<
friend
>
Cloudy
</
friend
>
????
<
friend
>
terry
</
friend
>
??
</
friends
>
</
person
>
在代碼中,我使用了groovy.xml.MarkupBuilder,它是Groovy builder家族的一員,常用它來生成XML文件。
?
作為練習,您不妨嘗試一下用它來生成一個HTML文件。
目標文件
<html>
??<body>
????<font?color='red'?size='6'>
??????<b>Hello,?world!</b>
????</font>
??</body>
</html>
答案import??groovy.xml.MarkupBuilder
def?out??=???new??StringWriter()
def?html??=???new??MarkupBuilder(out)
html.html?{
????body?{
????????font(color:'red',?size:6)?{
????????????b?"Hello,?world!"
????????}
????}
}
println?out.toString()
附:
朝花夕拾——Groovy & Grails
posted on 2007-05-30 19:13
山風小子 閱讀(4733)
評論(4) 編輯 收藏 所屬分類:
Groovy & Grails