import
?groovy.xml.MarkupBuilder
def?out? = ? new ?StringWriter()
def?xml? = ? new ?MarkupBuilder(out)
def?friendList? = ?[ ' Tony ' ,? ' Alan ' ,? ' Leona ' ,? ' Cloudy ' ,? ' terry ' ]
xml.person?{
????name(type: " 網(wǎng)名 " , "山風(fēng)小子")
????address?"上海"
????friends(num:?friendList.size())?{
????????for?(f?in?friendList)?{
????????????friend?f
????????}
????}
}
println?out.toString()
def?out? = ? new ?StringWriter()
def?xml? = ? new ?MarkupBuilder(out)
def?friendList? = ?[ ' Tony ' ,? ' Alan ' ,? ' Leona ' ,? ' Cloudy ' ,? ' terry ' ]
xml.person?{
????name(type: " 網(wǎng)名 " , "山風(fēng)小子")
????address?"上海"
????friends(num:?friendList.size())?{
????????for?(f?in?friendList)?{
????????????friend?f
????????}
????}
}
println?out.toString()
輸出結(jié)果:
<
person
>
?? < name? type ='網(wǎng)名'>山風(fēng)小子</name>
?? <address > 上海 </ address >
?? < friends? num ='5'>
???? <friend > Tony </ friend >
???? < friend > Alan </ friend >
???? < friend > Leona </ friend >
???? < friend > Cloudy </ friend >
???? < friend > terry </ friend >
?? </ friends >
</ person >
?? < name? type ='網(wǎng)名'>山風(fēng)小子</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家族的一員,常用它來(lái)生成XML文件。
?
作為練習(xí),您不妨嘗試一下用它來(lái)生成一個(gè)HTML文件。
目標(biāo)文件
<html>
??<body>
????<font?color='red'?size='6'>
??????<b>Hello,?world!</b>
????</font>
??</body>
</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()
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