隨筆-10  評論-23  文章-32  trackbacks-0

          1.新建一個class類,用來生成xml文件,并輸出到本地磁盤,內容如下:

          import java.io.FileWriter;
          import java.io.IOException;
          import org.dom4j.Document;
          import org.dom4j.DocumentHelper;
          import org.dom4j.Element;
          import org.dom4j.io.OutputFormat;
          import org.dom4j.io.XMLWriter;
          public class createXml {
                public static Document getDocument(){          
                            Document document = DocumentHelper.createDocument(); 
                            //生成一個接點 
                            Element root = document.addElement("root"); 
                            //生成root的一個接點 
                           Element category = root.addElement("category"); 
                           //生產category的一個接點 
                           Element id = category.addElement("id"); 
                           //生成id里面的參數值 
                           id.addAttribute("name", "id"); 
                           //生成id里面的值 
                           id.addText("1"); 
                           return document; 
                       }
                         /**
                        * 寫入xml文件地址
                        * @param document 組合好的xml document
                        * @param outFile 文件存放的地址
                        */ 
                public static void writeDocument(Document document, String outFile){ 
                           try{ 
                               //讀取文件 
                               FileWriter fileWriter = new FileWriter(outFile); 
                               //設置文件編碼 
                               OutputFormat xmlFormat = new OutputFormat(); 
                               xmlFormat.setEncoding("UTF-8"); 
                               //創建寫文件方法 
                               XMLWriter xmlWriter = new XMLWriter(fileWriter,xmlFormat); 
                               //寫入文件 
                               xmlWriter.write(document); 
                               //關閉 
                               xmlWriter.close(); 
                           }catch(IOException e){ 
                               System.out.println("文件沒有找到"); 
                               e.printStackTrace(); 
                           } 
                       } 

                public static void main(String[] args){
                   createXml.writeDocument(createXml.getDocument(), "f:\\a.xml"); 

              }
          }

          右鍵執行以上代碼,會在F盤下生成一個a.xml文件

          如下圖:

          12373585720

           

          2.新建一個類,用于解析和修改剛才生成的xml文件。

          import java.io.File;
          import java.io.FileWriter;
          import java.io.IOException;
          import java.io.UnsupportedEncodingException;
          import java.util.Iterator;
          import java.util.List;
          import org.dom4j.Document;
          import org.dom4j.DocumentException;
          import org.dom4j.Element;
          import org.dom4j.io.OutputFormat;
          import org.dom4j.io.SAXReader;
          import org.dom4j.io.XMLWriter;
          public class CatchXml {
              public CatchXml(){
              }
              @SuppressWarnings("unchecked")
              public void changeXml(File inputxml){
                  try {
                      SAXReader reader = new SAXReader();
                      Document doc = reader.read(inputxml);
                      List list = doc.selectNodes("http://category");
                      Iterator iter = list.iterator();
                      while(iter.hasNext()){
                          Element element = (Element)iter.next();
                          element.addComment("it is a comment for liuyimx!");
                          Iterator iterator = element.elementIterator("id");
                          while(iterator.hasNext()){
                              Element IdElement = (Element)iterator.next();
                              if(IdElement.getText().equals("1")){
                                  IdElement.setText("liuyi");
                              }
                              if(IdElement.attribute("name").getValue().equals("id")){
                                  IdElement.attribute("name").setValue("001");
                              }
                          }
                      }
                      OutputFormat format = new OutputFormat("  ",true);
                      format.setEncoding("UTF-8");
                      XMLWriter writer = new XMLWriter(new FileWriter(inputxml));
                      writer.write(doc);
                      writer.close();
                  } catch (UnsupportedEncodingException e) {
                      e.printStackTrace();
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
                  catch (DocumentException e) {
                      e.printStackTrace();
                  }
              }
              public static void main(String args[]){
                  File file = new File("f:\\a.xml");
                  CatchXml cx = new CatchXml();
                  cx.changeXml(file);
              }
          }

          右鍵執行,修改后a.xml如下:

          12373675950 

          依賴jar包:

          dom4j-1.6.1.jar

          jaxen-1.1.1.jar

          posted on 2009-08-04 15:36 liuyimx 閱讀(2744) 評論(0)  編輯  收藏 所屬分類: dom4jxml

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


          網站導航:
           
          主站蜘蛛池模板: 天台县| 鹤岗市| 手游| 绥芬河市| 双流县| 越西县| 汉中市| 永兴县| 东莞市| 团风县| 连州市| 清水河县| 遵化市| 新兴县| 包头市| 涟源市| 吴桥县| 德化县| 哈巴河县| 沁阳市| 轮台县| 淮南市| 揭东县| 区。| 茂名市| 昌吉市| 临城县| 义马市| 上杭县| 兰考县| 长泰县| 济宁市| 扶沟县| 东辽县| 宝清县| 和政县| 安溪县| 万全县| 拉萨市| 大石桥市| 西城区|