對xml的處理_Dom4j入門四

以下介紹Dom4j的環境是:windowsXP、eclipse3.5.0、jdk1.6、Dom4j1.6.1.jar

Dom4j1.6.1.jar架包可以在本人的資源中下載,歡迎下載使用

public static Document doc=null; 

//解析xml文件---刪除子節點
 public static void analyticalXML(){
          SAXReader readerxml=new SAXReader();  
          try {//讀取一個形式良好的xml文件形成一個document對象
                  doc=readerxml.read(new File("C:/Dom4j_02.xml"));
                  Element root=doc.getRootElement();//獲取該對象的根節點
                   Writerxml(root);//通過該方法進行遞歸獲取所有子節點
           } catch (DocumentException e) {
                   e.printStackTrace();
           }
 }
 //遞歸獲取所有子節點
 public static void Writerxml(Element root){
          for(Iterator it=root.elementIterator();it.hasNext();){
                     Element child=(Element) it.next();//獲取子節點  
                     if(child.getName().equals("兒子")){//找到特定節點,然後刪除
                               child.clearContent();//刪除該節點及其子節點
                               //element.addAttribute("身高", "190cm");更新子節點的屬性內容

                                WriteInFiler(doc);//刪除節點,將doc寫入xml文件替換以前的xml文件
                                break;//然後退出循環
                       }
                       //如果沒有找到對應的節點,就遞歸繼續找
                       Iterator its=child.elementIterator();//獲取該節點的子節點的迭代器
                      if(its.hasNext()){//如果子節點存在
                               Writerxml(child);//遞歸獲取下一層子節點 
                       } 
          }
 }
 //將xml寫入文件doc.xml文件中
 public static void WriteInFiler(Document doc){
         try{
                  OutputFormat opt=OutputFormat.createPrettyPrint();
                  opt.setEncoding("GB2312");
                  XMLWriter w=new XMLWriter(new FileWriter(new File("C:/Dom4j_02.xml")),opt);
                  w.write(doc);
                  w.close();
           }catch(Exception e){
                  e.printStackTrace();
          }
 }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章