First they ignore you
          then they ridicule you
          then they fight you
          then you win
              -- Mahatma Gandhi
          Chinese => English     英文 => 中文             
          隨筆-221  評論-1047  文章-0  trackbacks-0
          利用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 山風小子 閱讀(4739) 評論(4)  編輯  收藏 所屬分類: Groovy & Grails
          主站蜘蛛池模板: 乌兰察布市| 沙河市| 太仆寺旗| 盖州市| 红桥区| 信宜市| 娱乐| 永胜县| 东源县| 收藏| 恩平市| 枞阳县| 阿合奇县| 东山县| 黄冈市| 彩票| 左云县| 漯河市| 都匀市| 萨迦县| 天峻县| 金秀| 太保市| 砀山县| 安溪县| 五大连池市| 伽师县| 绵竹市| 大冶市| 德安县| 吐鲁番市| 大荔县| 长乐市| 于田县| 资源县| 九台市| 玉树县| 柳河县| 叶城县| 锡林浩特市| 潼南县|