DOM4J实现XMl的增加,删除,修改,查询

   

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <addresslist> 
  3.  <linkman id="1"> 
  4. <name>你好</name> 
  5. <email>lichao51126@gmail.com</email> 
  6. <gender>male</gender> 
  7. </linkman> 
  8. </addresslist> 

 

 

实现代码:

 

  1. import java.io.File;  
  2. import java.io.FileOutputStream;  
  3. import java.io.IOException;  
  4. import java.util.Iterator;  
  5.  
  6. import org.dom4j.Document;  
  7. import org.dom4j.DocumentHelper;  
  8. import org.dom4j.Element;  
  9. import org.dom4j.io.OutputFormat;  
  10. import org.dom4j.io.SAXReader;  
  11. import org.dom4j.io.XMLWriter;  
  12.  
  13. public class Dom4jTest {  
  14.  
  15.     public static void main(String[] args) {  
  16.         try {  
  17.             init();  
  18.             add();  
  19.             traverse();  
  20.             edit(1);  
  21.             del(2);  
  22.         } catch (IOException e) {  
  23.             e.printStackTrace();  
  24.         } catch (Exception e) {  
  25.             e.printStackTrace();  
  26.         }  
  27.     }  
  28.  
  29.     private static void del(int i) throws Exception {  
  30.         SAXReader reader = new SAXReader();  
  31.         Document document = reader.read(new File("address.xml"));  
  32.         Element root = document.getRootElement();  
  33.  
  34.         @SuppressWarnings("unchecked")  
  35.         Iterator<Element> it = root.elementIterator();  
  36.  
  37.         while (it.hasNext()) {  
  38.             Element e = it.next();  
  39.             if (Integer.parseInt(e.attributeValue("id")) == i) {  
  40.                 root.remove(e);  
  41.                 break;  
  42.             }  
  43.  
  44.         }  
  45.  
  46.         OutputFormat out = new OutputFormat("  "true"utf-8");  
  47.         XMLWriter writer = new XMLWriter(new FileOutputStream("address.xml"),  
  48.                 out);  
  49.         writer.write(document);  
  50.         writer.close();  
  51.     }  
  52.  
  53.     private static void edit(int i) throws Exception {  
  54.         SAXReader reader = new SAXReader();  
  55.         Document document = reader.read(new File("address.xml"));  
  56.         Element root = document.getRootElement();  
  57.  
  58.         @SuppressWarnings("unchecked")  
  59.         Iterator<Element> it = root.elementIterator();  
  60.  
  61.         while (it.hasNext()) {  
  62.             Element e = it.next();  
  63.             if (Integer.parseInt(e.attributeValue("id")) == i) {  
  64.                 e.element("name").setText("你好");  
  65.                 e.element("email").setText("lichao51126@gmail.com");  
  66.                 break;  
  67.             }  
  68.  
  69.         }  
  70.  
  71.         OutputFormat out = new OutputFormat("  "true"utf-8");  
  72.         XMLWriter writer = new XMLWriter(new FileOutputStream("address.xml"),  
  73.                 out);  
  74.         writer.write(document);  
  75.         writer.close();  
  76.     }  
  77.  
  78.     private static void traverse() throws Exception {  
  79.         SAXReader reader = new SAXReader();  
  80.         Document document = reader.read(new File("address.xml"));  
  81.         Element root = document.getRootElement();  
  82.  
  83.         @SuppressWarnings("unchecked")  
  84.         Iterator<Element> it = root.elementIterator();  
  85.  
  86.         while (it.hasNext()) {  
  87.             Element e = it.next();  
  88.             System.out.println("id :" + e.attributeValue("id"));  
  89.             System.out.println("姓名: " + e.element("name").getText());  
  90.             System.out.println("邮箱:" + e.elementText("email"));  
  91.             System.out.println("性别:" + e.elementText("gender"));  
  92.         }  
  93.  
  94.     }  
  95.  
  96.     @SuppressWarnings("deprecation")  
  97.     private static void add() throws Exception {  
  98.         SAXReader reader = new SAXReader();  
  99.         Document document = reader.read(new File("address.xml"));  
  100.         Element root = document.getRootElement();  
  101.  
  102.         Element parent = root.addElement("linkman");  
  103.         parent.setAttributeValue("id""2");  
  104.  
  105.         Element name = parent.addElement("name");  
  106.         name.setText("李丽");  
  107.  
  108.         Element email = parent.addElement("email");  
  109.         email.setText("lichao511216@163.com");  
  110.  
  111.         Element gender = parent.addElement("gender");  
  112.         gender.setText("female");  
  113.           
  114.           
  115.           
  116.  
  117.         OutputFormat out = new OutputFormat("  "true"utf-8");  
  118.         XMLWriter writer = new XMLWriter(new FileOutputStream("address.xml"),  
  119.                 out);  
  120.         writer.write(document);  
  121.         writer.close();  
  122.  
  123.     }  
  124.  
  125.     @SuppressWarnings("deprecation")  
  126.     private static void init() throws IOException {  
  127.         Document document = DocumentHelper.createDocument();  
  128.  
  129.         Element root = document.addElement("addresslist");  
  130.  
  131.         Element parent = root.addElement("linkman");  
  132.  
  133.         parent.setAttributeValue("id""1");  
  134.  
  135.         Element name = parent.addElement("name");  
  136.         name.setText("李超");  
  137.  
  138.         Element email = parent.addElement("email");  
  139.         email.setText("953166286@qq.com");  
  140.  
  141.         Element gender = parent.addElement("gender");  
  142.         gender.setText("male");  
  143.  
  144.         OutputFormat out = new OutputFormat("  "true"utf-8");  
  145.         XMLWriter writer = new XMLWriter(new FileOutputStream("address.xml"),  
  146.                 out);  
  147.         writer.write(document);  
  148.         writer.close();  
  149.  
  150.     }  
  151.  
  152. }  

 结果: