First they ignore you
          then they ridicule you
          then they fight you
          then you win
              -- Mahatma Gandhi
          Chinese => English     英文 => 中文             
          隨筆-221  評論-1047  文章-0  trackbacks-0
          在《Groovy高效編程——生成XML文件》中,我給大家介紹了Groovy中MarkupBuilder的用法,在這篇隨筆中,我將使用StreamingMarkupBuilder來生成更復雜的XML文件:


          import?groovy.xml.StreamingMarkupBuilder

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

          運行結果:

          <?xml?version="1.0"?encoding="UTF-8"?>
          <person?xmlns:ns="http://www.ebay.com">
          ????
          <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來實現一下 :)

          附:朝花夕拾——Groovy & Grails



          posted on 2007-08-18 10:16 山風小子 閱讀(2534) 評論(2)  編輯  收藏 所屬分類: Groovy & Grails

          轉載文章,請保留原始鏈接和署名



          Dict.CN
          <2007年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(71)

          隨筆分類

          隨筆檔案

          相冊

          Documentations

          Groovy & Grails

          友情鏈接

          好友 & 鄰居

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 796535
          • 排名 - 52

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 阳春市| 延长县| 长宁区| 博白县| 溧阳市| 抚顺县| 安阳县| 永登县| 卓资县| 曲水县| 历史| 桐庐县| 荃湾区| 嵊州市| 洛扎县| 留坝县| 宁南县| 遂宁市| 林芝县| 含山县| 灵璧县| 宿州市| 辽中县| 石林| 三原县| 内乡县| 伊春市| 玉龙| 沅陵县| 仪征市| 腾冲县| 宁德市| 盐源县| 翼城县| 陇西县| 新安县| 萨嘎县| 房产| 黎城县| 磐安县| 宜宾县|