<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)論

    閱讀排行榜

    主站蜘蛛池模板: 精品剧情v国产在免费线观看| 免费在线中文日本| 91嫩草国产在线观看免费| 中国人免费观看高清在线观看二区 | 亚洲成人激情小说| 狠狠热精品免费观看| 在线视频免费观看高清| 亚洲欧洲综合在线| 四虎永久在线精品免费观看视频| 亚洲欧洲精品一区二区三区| 18以下岁毛片在免费播放| 亚洲成人黄色在线| 大学生一级特黄的免费大片视频| 亚洲av无码成人精品区一本二本| 国产真人无遮挡作爱免费视频 | 成年免费大片黄在线观看com| 中文字幕亚洲天堂| 人人揉揉香蕉大免费不卡| 亚洲视频国产视频| 四虎www成人影院免费观看| 在线观看亚洲视频| 每天更新的免费av片在线观看| 亚洲日本在线观看网址| 操美女视频免费网站| 日本系列1页亚洲系列| 亚洲精品无码专区久久久| 99精品免费观看| 在线观看亚洲AV日韩A∨| 国产片免费在线观看| jizz免费在线影视观看网站| 久久久无码精品亚洲日韩蜜桃| 嘿嘿嘿视频免费网站在线观看| 久久久久久亚洲精品中文字幕| 1000部拍拍拍18勿入免费视频软件 | 亚洲成a人无码亚洲成av无码| 亚洲午夜AV无码专区在线播放| 亚洲精品国产日韩| 免费国产a国产片高清| 免费h视频在线观看| 亚洲色婷婷六月亚洲婷婷6月| 88av免费观看|