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

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

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

    Java學(xué)習(xí)

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

     

    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對(duì)象
            Document doc= DocumentHelper.createDocument();
           
    //建立XML文檔的根books
            Element students= doc.addElement("students");
            students.addComment(
    "This is a test for dom4j");//加入一行注釋
            /**加入第一個(gè)student節(jié)點(diǎn)*/
            Element student
    = students.addElement("student");//加入第一個(gè)student節(jié)點(diǎn)
            student.addAttribute("value","god");//加入value屬性和值
            Element name= student.addElement("name");//加入name節(jié)點(diǎn)
            name.setText("finina");//為name設(shè)置值
            Element age=student.addElement("age");//加入age節(jié)點(diǎn)
            age.setText("25");//
    為age設(shè)置值
            Element sex=student.addElement("sex");//加入sex節(jié)點(diǎn)
            sex.setText("male");//為sex設(shè)置值
            /**加入第二個(gè)student節(jié)點(diǎn)*/
            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節(jié)點(diǎn)*/
            Element team
    =students.addElement("team");
            team.addText(
    "05093A");
           
    /**
             *將doc中的內(nèi)容寫入xml文件中
             *
    */
           
    try{
                OutputFormat format
    = OutputFormat.createPrettyPrint();//設(shè)置格式
                format.setEncoding("GBK");//必要,否則無(wú)法解析中文
               
    //輸出為文件
                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();//創(chuàng)建SAX閱讀器
                Document doc= reader.read(new File(oldFileName));//將所有文件內(nèi)容讀取生存Document對(duì)象
                /**修改內(nèi)容之一: 如果student節(jié)點(diǎn)中value屬性的內(nèi)容為god,則修改成king
                 *因?yàn)樽鋈瞬荒芴珖虖?br />             
    */
                List list
    = doc.selectNodes("/students/student/@value");//搜索出所有位于students節(jié)點(diǎn)下的student節(jié)點(diǎn)中的value屬性位置放入集合中
                Iterator iter= list.iterator();//加載迭代器
               
    //迭代集合
                while(iter.hasNext()){
                    Attribute attr
    = (Attribute)iter.next();
                   
    if(attr.getValue().equals("god"))//比對(duì)值是否相等
                        attr.setValue("king");//設(shè)置值
                }

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

    posted on 2009-06-19 15:19 找個(gè)美女做老婆 閱讀(219) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    本blog已經(jīng)搬到新家了, 新家:www.javaly.cn
     http://www.javaly.cn

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲国产精品一区二区九九| 免费看国产成年无码AV片| 免费在线一级毛片| 亚洲中文无码mv| 日本一道本高清免费| 国产精品亚洲lv粉色| 免费一级国产生活片| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 水蜜桃视频在线观看免费播放高清| 亚洲国产高清精品线久久| 一区视频免费观看| 亚洲午夜无码久久久久| 日韩电影免费观看| 亚洲蜜芽在线精品一区| 男女免费观看在线爽爽爽视频 | 91久久精品国产免费一区| 亚洲欧洲日产国码www| 日本精品人妻无码免费大全| 亚洲乱亚洲乱妇24p| 免费在线观看黄网| 国产在线播放线91免费| 老司机亚洲精品影院| 免费无码A片一区二三区 | 99在线免费观看| 亚洲精品在线电影| 免费高清资源黄网站在线观看| 精品国产日韩亚洲一区在线| 亚洲中文字幕久久精品无码APP| 美女内射无套日韩免费播放| 中国china体内裑精亚洲日本| 免费人成视网站在线观看不卡| 最近的2019免费中文字幕| 亚洲性一级理论片在线观看| 午夜成人免费视频| 在线观看无码AV网站永久免费| 亚洲AV无码专区国产乱码不卡| 中文字幕日韩亚洲| 18以下岁毛片在免费播放| 风间由美在线亚洲一区| 亚洲AV无码1区2区久久| 性xxxx视频播放免费|