隨筆-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

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


          網站導航:
           
          主站蜘蛛池模板: 正镶白旗| 武乡县| 财经| 弥渡县| 宁城县| 简阳市| 崇信县| 中卫市| 察哈| 辰溪县| 五大连池市| 汤阴县| 武川县| 汉川市| 兴和县| 来宾市| 宣化县| 罗江县| 乌兰察布市| 盐源县| 安西县| 客服| 高淳县| 焦作市| 通江县| 富源县| 曲周县| 阿克| 武强县| 闻喜县| 泊头市| 沙湾县| 镇巴县| 陇西县| 九龙县| 临泉县| 扬州市| 时尚| 上思县| 天镇县| 赤水市|