First they ignore you
          then they ridicule you
          then they fight you
          then you win
              -- Mahatma Gandhi
          Chinese => English     英文 => 中文             
          隨筆-221  評(píng)論-1047  文章-0  trackbacks-0
          利用Java來(lái)生成‘漂亮’的XML文件向來(lái)是一件比較麻煩的事,這里我通過(guò)Groovy來(lái)生成XML文件,代碼十分簡(jiǎn)潔直觀:

          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()

          輸出結(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 >

          在代碼中,我使用了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>

          答案
          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 山風(fēng)小子 閱讀(4738) 評(píng)論(4)  編輯  收藏 所屬分類: Groovy & Grails
          主站蜘蛛池模板: 镇沅| 沿河| 北京市| 玉山县| 齐齐哈尔市| 商洛市| 榕江县| 报价| 湖口县| 观塘区| 桦甸市| 哈尔滨市| 龙胜| 三江| 香港 | 曲沃县| 台湾省| 阳原县| 溧阳市| 濉溪县| 固安县| 高邑县| 昆山市| 延边| 驻马店市| 宜丰县| 上犹县| 专栏| 巧家县| 普宁市| 北票市| 纳雍县| 卢氏县| 静宁县| 云梦县| 和田县| 武陟县| 洛南县| 同心县| 屏边| 呼和浩特市|