`

xml 解析 读取 修改 dom4j

阅读更多
1、解析xml

<?xml version="1.0" encoding="gbk"?>
<a>
<user id="1">
<name>jack</name>
<age>23</age>
</user>

<user id="2">
<name>lucy</name>
<age>22</age>
</user>
</a>

------------------------------------------------------------------------------------

import java.io.File;
import java.util.Iterator;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;


public class MyXMLReader {   
   
    public static void main(String[] arge) {   
     
             try {
                SAXReader reader=new SAXReader();
     Document doc=reader.read(new File("c://test2.xml"));
           Element root= doc.getRootElement();
           Iterator iterator=root.elementIterator("user");
           while(iterator.hasNext()){
           Element user=(Element)iterator.next();
           String id=user.attributeValue("id");
           System.out.println("id号码:"+id);
           String name=user.elementText("name");
           System.out.println("用户名字:"+name);
           String age=user.elementText("age");
           System.out.println("年龄:"+age);
           }
    } catch (Exception e) {
     e.printStackTrace();
    }

            }
}
==========================================================

2、生成xml文档与修改xml文档

import java.io.FileWriter;
import java.io.Writer;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;


public class Dom4JXML {
public void createXML(){
   Document doc=DocumentHelper.createDocument();
   Element rootEle=doc.addElement("emps");
   rootEle.addComment("这是一个dom4j生成的XML文件");
   Element empEle=rootEle.addElement("emp");
   empEle.addAttribute("id", "1");
   Element nameEle=empEle.addElement("name");
   nameEle.setText("jack");
   Element sexEle=empEle.addElement("sex");
   sexEle.addText("man");
   try{
    Writer out=new FileWriter("c://emps.xml");
    OutputFormat format = OutputFormat.createPrettyPrint();
    format.setEncoding("GBK");
             XMLWriter writer=  new XMLWriter(out,format);
             writer.write(doc);
             writer.close();
             System.out.println("生成的emps.xml成功。");
   }catch(Exception e){
    e.printStackTrace();
   }
}

         public void updateXML(){
        
           try {
          SAXReader reader= new SAXReader();
    Document doc=reader.read("c://emps.xml");
    List listId=doc.selectNodes("//emps//emp//@id");
    Iterator idIterator=listId.iterator();
    while(idIterator.hasNext()){
     Attribute attribute=(Attribute)idIterator.next();
     attribute.setValue("001");
    }
     List listName=doc.selectNodes("//emps//emp//name");
     Iterator nameIterator=listName.iterator();
     while(nameIterator.hasNext()){
    Element eleName= (Element)nameIterator.next();
    eleName.setText("张三");
     }
    
     List listSex=doc.selectNodes("//emps//emp");
     Iterator sexIterator=listSex.iterator();
     while(sexIterator.hasNext()){
                   Element eleSex=(Element)sexIterator.next();
                    Iterator ite=eleSex.elementIterator("sex");
                     while(ite.hasNext()){
                    Element sexEle=(Element)ite.next();
                    eleSex.remove(sexEle);
                   
                     }
     }
     Writer out=new FileWriter("c://emps(update).xml");
     OutputFormat format = OutputFormat.createPrettyPrint();
     format.setEncoding("GBK");
              XMLWriter writer=  new XMLWriter(out,format);
              writer.write(doc);
              writer.close();
              System.out.println("生成的emps(update).xml成功。");
   
        } catch (Exception e) {
  
    e.printStackTrace();
   }
         }
         public static void main(String[] args){
               Dom4JXML dom4jxml=new Dom4JXML();
                       dom4jxml.createXML();
                      dom4jxml.updateXML();
         }



}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics