<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java學習

    java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進步

     

    dom4j(Java code)

    import java.io.File;
    import java.io.FileWriter;
    import java.util.Iterator;
    import java.util.List;
    import org.dom4j.Attribute;import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;
    import org.dom4j.io.XMLWriter;

    publicclass Dom4jDemo {
       
       
    publicboolean createXML(String fileName){
           
    boolean isOk=false;
           
    //建立document對象
            Document doc= DocumentHelper.createDocument();
           
    //建立XML文檔的根books
            Element students= doc.addElement("students");
            students.addComment(
    "This is a test for dom4j");//加入一行注釋
            /**加入第一個student節點*/
            Element student
    = students.addElement("student");//加入第一個student節點
            student.addAttribute("value","god");//加入value屬性和值
            Element name= student.addElement("name");//加入name節點
            name.setText("finina");//為name設置值
            Element age=student.addElement("age");//加入age節點
            age.setText("25");//
    為age設置值
            Element sex=student.addElement("sex");//加入sex節點
            sex.setText("male");//為sex設置值
            /**加入第二個student節點*/
            student
    = students.addElement("student");
            student.addAttribute(
    "value","cat");
            name
    = student.addElement("name");
            name.setText(
    "fly");
            age
    =student.addElement("age");
            age.setText(
    "17");
            sex
    =student.addElement("sex");
            sex.setText(
    "female");
           
    /**加入team節點*/
            Element team
    =students.addElement("team");
            team.addText(
    "05093A");
           
    /**
             *將doc中的內容寫入xml文件中
             *
    */
           
    try{
                OutputFormat format
    = OutputFormat.createPrettyPrint();//設置格式
                format.setEncoding("GBK");//必要,否則無法解析中文
               
    //輸出為文件
                XMLWriter writer=new XMLWriter(new FileWriter(fileName),format);
                wr
    iter.write(doc);
                writer.flush();
               //
                isOk=true;
            }
    catch(Exception e){
                e.printStackTrace();
            }
           
    return isOk;
        }

       
    publicboolean modifigXML(String oldFileName,String newFileName){
           
    boolean isOk=false;
           
    try{
                SAXReader reader
    =new SAXReader();//創建SAX閱讀器
                Document doc= reader.read(new File(oldFileName));//將所有文件內容讀取生存Document對象
                /**修改內容之一: 如果student節點中value屬性的內容為god,則修改成king
                 *因為做人不能太囂張
                
    */
                List list
    = doc.selectNodes("/students/student/@value");//搜索出所有位于students節點下的student節點中的value屬性位置放入集合中
                Iterator iter= list.iterator();//加載迭代器
               
    //迭代集合
                while(iter.hasNext()){
                    Attribute attr
    = (Attribute)iter.next();
                   
    if(attr.getValue().equals("god"))//比對值是否相等
                        attr.setValue("king");//設置值
                }

                list
    = doc.selectNodes("/students/team");//搜索出所有位于students節點下team節點位置放入集合中
                iter= list.iterator();//an style="COLOR: #008000">加載迭代器
                //迭代集合
                if(iter.hasNext()){
                    Element team
    = (Element)iter.next();
                    team.setText(
    "05084A");//設置值
                    Element teacher= team.addElement("teacher");//添加節點
                    teacher.setText("godfather");//為新的節點設置值
                    teacher.addAttribute("skill","programme");//為新的節點添加屬性
                }
               
    /**修改內容之三: 若age內容為17,則刪除該節點
                 *未成年人需要被保護...
                
    */
                list
    = doc.selectNodes("/students/student");//搜索出所有位于students節點下的student節點位置放入集合中
                iter= list.iterator();//加載迭代器
               
    //迭代集合
                while(iter.hasNext()){
                    Element elem
    = (Element)iter.next();
                    Iterator iterElem
    = elem.elementIterator("age");//將該節點下所有的age節點生成一個迭代器
                   
    //迭代集合
                    if(iterElem.hasNext()){
                        Element remTitle
    = (Element)iterElem.next();
                       
    if(remTitle.getText().equals("17"))000">//對比值
                            elem.remove(remTitle);//移除該節點
                    }
                }
               
    //將doc中的內容寫入文件中
                OutputFormat format= OutputFormat.createPrettyPrint();//設置格式
                format.setEncoding("GBK");//必要,否則無法解析中文
                
    //輸出為文件,以上操作只是在內存中修改,需要保存為文件來確認修改
                XMLWriter writer=new XMLWriter(new FileWriter(newFileName),format);
                writer.write(doc);
                writer.flush();
                isOk
    =true;
            }
    catch(Exception e){
                e.printStackTrace();
            }
           
    return isOk;
        }
       
    /**
         *the method readXML
        
    */
       
    publicvoid readXML(String fileName){
           
    try{
                File file
    =new File(fileName);//創建文件對象
                SAXReader reader=new SAXReader();//創建SAX閱讀器
                Document doc= reader.read(file);//讀取內容生成Document對象
                Element root= doc.getRootElement();//取得根節點
                search(root);//開始遍歷
            }catch(Exception e){
                e.printStackTrace();
            }
        }
       
       
    //遞歸遍歷
        privatevoid search(Element root) {
      Iterator it_element= root.elementIterator();//將根節點下包含的元素組織成一個迭代器
           
    //迭代
            while( it_element.hasNext()) {
                Element element
    = (Element)it_element.next();
               
    if(!element.getText().equals(""))
                {
                    System.out.println(element.getName()
    +"節點的值是"+element.getText());
                }
               
    else
                {
                    System.out.println(element.getName()
    +"節點");
                }
                Iterator it_attr
    = element.attributeIterator();
               
    while( it_attr.hasNext()) {
                    Attribute attr
    = (Attribute)it_attr.next();
                   
    if(attr!=null)
                    {
                        System.out.println(element.getName()
    +"節點的屬性"+attr.getName()+"的值是"+ attr.getValue());
                    }
                }
                search(element);
    //遞歸調用
            }
        }
       
    /**
         *the method main
        
    */
       
    publicstaticvoid main(String[] args){
           
    long start= System.currentTimeMillis();//開始計時
            Dom4jDemo dom4jDemo=new Dom4jDemo();
            String fileName
    ="dom4jDemo.xml";
            String newFileName
    #000000">="new_dom4jDemo.xml";
            System.out.println(fileName
    +"正在創建中...");
           
    boolean isOk_create= dom4jDemo.createXML(fileName);
           
    if(isOk_create) System.out.println(fileName+"創建成功!");
           
    else System.out.println("創建失敗!請檢查后重新再試!");
           
            System.out.println(
    "正在更新中...");
           
    boolean isOk_modi= dom4jDemo.modifigXML(fileName, newFileName);
           
    if(isOk_modi) System.out.println("恭喜,更新完成!");
           
    //
            System.out.println("正在讀取文件"+fileName+" ...");
            System.out.println(
    "------------------------------------------------");
            dom4jDemo.readXML(fileName);
            System.out.println(
    "------------------------------------------------");
            System.out.println(fileName
    +"讀取成功!");
            System.out.println(
    "正在讀取文件"+newFileName+" ...");
            System.out.println(
    "------------------------------------------------");
            dom4jDemo.readXML(newFileName);
            System.out.println(
    "------------------------------------------------");
            System.out.println(fileName
    +"讀取成功!");
            System.out.println(
    "一共耗時:"+(System.currentTimeMillis()-start)+"毫秒!");
        }
    }

    posted on 2009-06-19 15:19 找個美女做老婆 閱讀(211) 評論(0)  編輯  收藏


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


    網站導航:
     

    導航

    統計

    公告

    本blog已經搬到新家了, 新家:www.javaly.cn
     http://www.javaly.cn

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久久久久毛片免费播放| 精品国产免费观看久久久| 91在线亚洲精品专区| 亚洲中文无码永久免费| 水蜜桃视频在线观看免费| 亚洲成A人片在线观看WWW| 女人18一级毛片免费观看| 黄桃AV无码免费一区二区三区| 亚洲美女在线观看播放| 全黄a免费一级毛片人人爱| 久久午夜夜伦鲁鲁片免费无码| 亚洲夂夂婷婷色拍WW47| 亚洲精品高清国产一线久久| 成人免费无毒在线观看网站| a级特黄毛片免费观看| 亚洲啪AV永久无码精品放毛片| 亚洲国产精品乱码一区二区| 在线免费观看韩国a视频| 久久99国产综合精品免费| 香港特级三A毛片免费观看| 亚洲国产精品久久丫| 国产日韩成人亚洲丁香婷婷| 久久久久国色AV免费看图片| 免费看一区二区三区四区| 亚洲爆乳大丰满无码专区| 亚洲自偷自拍另类图片二区| 国产偷国产偷亚洲清高动态图| 国内一级一级毛片a免费| 99精品视频免费观看| 国产99视频精品免费视频76| 亚洲综合欧美色五月俺也去| 久久精品亚洲一区二区三区浴池 | 二个人看的www免费视频| 亚洲人成网站在线播放2019| 亚洲成年人在线观看| 中文字幕人成人乱码亚洲电影| 日韩激情无码免费毛片| 全免费毛片在线播放| 2019中文字幕免费电影在线播放| 99精品免费视品| 一个人免费观看日本www视频|