对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();
          }
 }

你可能感兴趣的:(对xml的处理_Dom4j入门四)