posts - 15,comments - 65,trackbacks - 0
                   歡迎光臨筆者博客http://www.lovestblog.cn
                  最近兩天本人在為本博實現rss發布和訂閱,本來是想在前端實現xml的生成和修改,因為用as3的E4X操作xml比較方便,但是后面發現不能為元素設置CDATA值,于是只好作罷,便只能依靠后臺的java來實現此功能了,當然操作xml的話,我首先想到了dom4j,dom4j操作xml還是比較方便的,即可以輕松實現我們的CDATA設置,也可以為我們任意位置插入元素提供了實現,對于在指定位置新增節點開始我有點蒙了,后面通過網上搜索資源加之自己的一些理解,而實現了此功能,下面展示了部分代碼供今后參考吧:
          1. public static int createXMLFile(String filename,List list){   
                       
            /** 返回操作結果, 0表失敗, 1表成功 */  
                       
            int returnValue = 0;    
                       Document document 
            = DocumentHelper.createDocument();   
                       Element rssElement 
            = document.addElement("rss");   
                       rssElement.addAttribute(
            "version""2.0");     
                       Element channelElement 
            = rssElement.addElement("channel");   
                       Element titleElement 
            = channelElement.addElement("title");   
                       titleElement.setText(
            "你假笨(nijiaben)心情技術博客");    
                          
                       Element linkElement 
            = channelElement.addElement("link");   
                       linkElement.setText(
            "http://www.lovestblog.cn");   
                          
                       Element descriptionElement 
            = channelElement.addElement("description");   
                       descriptionElement.setText(
            "專注于Java,Flex技術開發研究");   
                          
                       Element languageElement 
            = channelElement.addElement("language");   
                       languageElement.setText(
            "zh-cn");   
                          
                       Element lastBuildDateElement 
            = channelElement.addElement("lastBuildDate");   
                       lastBuildDateElement.setText(
            new java.text.SimpleDateFormat("yyyy-mm-dd hh:mm:ss",Locale.CHINA).format(((ArticleInfo)(list.get(0))).getCreateTime()));             
                                
                       
            for(int i=list.size()-1;i>0;i--){   
                           ArticleInfo ainfo
            =(ArticleInfo)(list.get(i));   
                           Element itemElement 
            = channelElement.addElement("item");   
                           Element title1Element 
            = itemElement.addElement("title");   
                           title1Element.setText(ainfo.getTitle());   
                           Element description1Element 
            = itemElement.addElement("description");   
                           
            int maxLen=5000;   
                           
            if(ainfo.getRssContent().length()<5000){   
                               maxLen
            =ainfo.getRssContent().length();   
                           }
               
                           description1Element.addCDATA(ainfo.getRssContent().substring(
            0, maxLen));          
                           Element pubDate
            =itemElement.addElement("pubDate");   
                           pubDate.setText(
            new java.text.SimpleDateFormat("yyyy-mm-dd hh:mm:ss",Locale.CHINA).format(ainfo.getCreateTime()));                     
                           Element link1Element
            =itemElement.addElement("link");   
                           link1Element.setText(
            "http://www.lovestblog.cn");   
                       }
               
                       
            try{   
                           
            /** 將document中的內容寫入文件中 */  
                           XMLWriter writer 
            = new XMLWriter(new FileOutputStream(path+filename));   
                           writer.write(document);   
                           writer.close();   
                           
            /** 執行成功,需返回1 */  
                           returnValue 
            = 1;   
                       }
            catch(Exception ex){   
                           ex.printStackTrace();   
                       }
               
                       
            return returnValue;   
                    }
              
          posted on 2010-04-01 12:14 你假笨 閱讀(3089) 評論(1)  編輯  收藏

          FeedBack:
          # re: dom4j在指定位置新增節點
          2010-04-01 22:22 | rox
          曾經因為工作需要打算寫一個針對web.xml的修改類,可以隨意的插入filter和listener,后來作罷。博主加油!  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 西乌| 集安市| 贞丰县| 龙海市| 常熟市| 大理市| 仪征市| 尼玛县| 曲沃县| 乐安县| 绥滨县| 溧阳市| 通化县| 吕梁市| 大石桥市| 五河县| 南平市| 木兰县| 调兵山市| 常山县| 赞皇县| 红河县| 井冈山市| 磴口县| 色达县| 和龙市| 和林格尔县| 怀宁县| 南华县| 安吉县| 普定县| 镶黄旗| 平阴县| 清镇市| 裕民县| 襄汾县| 柳河县| 白城市| 于都县| 招远市| 荣成市|