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

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

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

    想飛就別怕摔

    大爺?shù)牟M罵人

    java中使用Dom4j修改xml文件【轉(zhuǎn)】

      1 package org.zzn.dom4j;
      2 
      3 import org.dom4j.Document;
      4 import org.dom4j.Element;
      5 import org.dom4j.Attribute;
      6 import java.util.List;
      7 import java.util.Iterator;
      8 
      9 import org.dom4j.io.OutputFormat;
     10 import org.dom4j.io.XMLWriter;
     11 import java.io.*;
     12 import org.dom4j.DocumentException;
     13 import org.dom4j.io.SAXReader;
     14 
     15 
     16 public class Dom4JParser{
     17  public void modifyDocument(File inputXml){
     18   try{
     19    //使用 SAXReader 解析 XML 文檔 catalog.xml  
     20    SAXReader saxReader = new SAXReader();
     21    Document document = saxReader.read(inputXml);
     22    
     23    //SAXReader 包含在 org.dom4j.io 包中。 
     24    //inputXml 是從 c:/catalog/catalog.xml 創(chuàng)建的 java.io.File。
     25    //使用 XPath 表達(dá)式從 article 元素中獲得 level 節(jié)點(diǎn)列表。
     26    //如果 level 屬性值是“Intermediate”則改為“Introductory”。 
     27    List list = document.selectNodes("//article/@level" );
     28    Iterator iter=list.iterator();
     29    while(iter.hasNext()){
     30     Attribute attribute=(Attribute)iter.next();
     31     if(attribute.getValue().equals("Intermediate"))
     32       attribute.setValue("Introductory"); 
     33        }
     34    
     35    //獲取 article 元素列表,從 article 元素中的 title 元素得到一個迭代器,并修改 title 元素的文本。
     36    list = document.selectNodes("//article/@date" );
     37    iter=list.iterator();
     38    while(iter.hasNext()){
     39     Attribute attribute=(Attribute)iter.next();
     40     if(attribute.getValue().equals("December-2001"))
     41       attribute.setValue("October-2002");
     42        }
     43    list = document.selectNodes("//article" );
     44    iter=list.iterator();
     45    while(iter.hasNext()){
     46     Element element=(Element)iter.next();
     47     Iterator iterator=element.elementIterator("title");
     48       while(iterator.hasNext()){
     49         Element titleElement=(Element)iterator.next();
     50         if(titleElement.getText().equals("Java configuration with XML Schema"))
     51         titleElement.setText("Create flexible and extensible XML schema");
     52                                           }
     53                                 }
     54    
     55    //通過和 title 元素類似的過程修改 author 元素
     56     list = document.selectNodes("//article/author" );
     57     iter=list.iterator();
     58      while(iter.hasNext()){
     59      Element element=(Element)iter.next();
     60      Iterator iterator=element.elementIterator("firstname");
     61      while(iterator.hasNext()){
     62       Element firstNameElement=(Element)iterator.next();
     63       if(firstNameElement.getText().equals("Marcello"))
     64       firstNameElement.setText("Ayesha");
     65                                      }
     66                               }
     67     list = document.selectNodes("//article/author" );
     68     iter=list.iterator();
     69      while(iter.hasNext()){
     70       Element element=(Element)iter.next();
     71       Iterator iterator=element.elementIterator("lastname");
     72      while(iterator.hasNext()){
     73       Element lastNameElement=(Element)iterator.next();
     74       if(lastNameElement.getText().equals("Vitaletti"))
     75       lastNameElement.setText("Malik");
     76                                   }
     77                                }
     78      
     79      OutputFormat format = OutputFormat.createPrettyPrint();
     80      format.setEncoding("GBK");
     81      XMLWriter output = new XMLWriter(
     82      new FileWriter( new File("e:/catalog-modified.xml") ),format);
     83      output.write( document );
     84      output.close();
     85    }
     86  
     87   catch(DocumentException e)
     88                  {
     89                   System.out.println(e.getMessage());
     90                             }
     91   catch(IOException e){
     92                        System.out.println(e.getMessage());
     93                     }
     94  }
     95  public static void main(String[] argv){
     96   Dom4JParser dom4jParser=new Dom4JParser();
     97   dom4jParser.modifyDocument(new File("e:/catalog.xml"));
     98                                         }
     99    }
    100 

    運(yùn)行此代碼需要 dom4j.jar包和jaxen.jar包

    posted on 2008-12-28 15:25 生命的綻放 閱讀(4480) 評論(1)  編輯  收藏 所屬分類: JAVA

    評論

    # re: java中使用Dom4j修改xml文件【轉(zhuǎn)】 2010-04-22 15:53 ww

    運(yùn)行起來的代碼 報錯啊 e Nested exception: e



    問題在這個異常里面 catch(DocumentException e)
    {
    System.out.println(e.getMessage());
    }  回復(fù)  更多評論   

    <2008年12月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(5)

    隨筆分類(94)

    隨筆檔案(93)

    文章分類(5)

    文章檔案(5)

    相冊

    JAVA之橋

    SQL之音

    兄弟之窗

    常用工具下載

    積分與排名

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 久久久久免费精品国产| 亚洲免费福利视频| 久久久久久免费一区二区三区| 亚洲首页在线观看| 热久久精品免费视频| 伊人免费在线观看高清版| 亚洲国产a级视频| 一区二区三区观看免费中文视频在线播放| 亚洲午夜国产精品无码老牛影视 | 久久国产精品免费看| 久久久久精品国产亚洲AV无码| 亚洲黄色免费电影| 亚洲天堂一区在线| 97人伦色伦成人免费视频| 一级视频在线免费观看| 国产亚洲精品无码专区| 九九免费久久这里有精品23| 亚洲视频在线观看免费视频| 亚洲av区一区二区三| 香蕉97超级碰碰碰免费公| 亚洲国产精品无码久久98| 亚洲精品乱码久久久久久按摩| 成年女人喷潮毛片免费播放| 亚洲精品无码成人| yy6080久久亚洲精品| 91免费在线播放| a级毛片在线免费看| 国产精品亚洲精品爽爽| 亚洲影视一区二区| 久久国产亚洲观看| 男人的好看免费观看在线视频| a毛片免费播放全部完整| 国产成人va亚洲电影| 亚洲综合av一区二区三区不卡 | 18禁成年无码免费网站无遮挡| 国色精品va在线观看免费视频| 图图资源网亚洲综合网站| 亚洲成人高清在线| 国产精品深夜福利免费观看| 99精品免费视品| 深夜免费在线视频|