<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 元素得到一個(gè)迭代器,并修改 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    //通過(guò)和 title 元素類似的過(guò)程修改 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 生命的綻放 閱讀(4478) 評(píng)論(1)  編輯  收藏 所屬分類: JAVA

    評(píng)論

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

    運(yùn)行起來(lái)的代碼 報(bào)錯(cuò)啊 e Nested exception: e



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

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

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(5)

    隨筆分類(94)

    隨筆檔案(93)

    文章分類(5)

    文章檔案(5)

    相冊(cè)

    JAVA之橋

    SQL之音

    兄弟之窗

    常用工具下載

    積分與排名

    最新評(píng)論

    閱讀排行榜

    主站蜘蛛池模板: 国产一区二区三区在线免费观看| 久久精品国产亚洲AV果冻传媒| 91免费在线播放| 久久精品无码专区免费| 国产亚洲一卡2卡3卡4卡新区| 亚洲av日韩av不卡在线观看 | 亚洲国产精品久久久久久| 免费人成无码大片在线观看| 久九九精品免费视频| 久久久久国产免费| 国产在线播放线91免费| 国产午夜亚洲精品不卡免下载 | 84pao强力永久免费高清| 成人精品视频99在线观看免费| 国产亚洲视频在线观看网址| 亚洲第一区二区快射影院| 亚洲精品美女久久久久9999| 亚洲不卡中文字幕无码| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 国产免费一区二区三区VR| 日本亚洲免费无线码| 99热这里有免费国产精品| 嫩草在线视频www免费看| 国产日韩精品无码区免费专区国产| 美女黄色毛片免费看| 国产精品亚洲精品日韩动图| 亚洲av无码专区在线观看下载| 亚洲色一区二区三区四区 | 四虎免费大片aⅴ入口| 成人网站免费观看| 毛片免费观看网站| 成人影片麻豆国产影片免费观看 | 亚洲精品亚洲人成在线麻豆| 亚洲男人第一av网站| 图图资源网亚洲综合网站| 亚洲av无码乱码国产精品| 亚洲AV无码一区二区乱孑伦AS| 国产成人A人亚洲精品无码| 亚洲国产精品无码久久久不卡| 亚洲av中文无码乱人伦在线咪咕| 亚洲真人无码永久在线|