java dom4j创建 ,修改 ,删除 xml文件内容

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

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

public class writer3 {
    @Test
/**
创建xml 节点信息
*/ public void modify1(){ Document doc=DocumentHelper.createDocument(); Element rootelem=doc.addElement("contactList"); Element contactelem= rootelem.addElement("contact"); contactelem.addAttribute("id","001").addAttribute("name","eric"); //直接在节点上写入属性值 contactelem.addElement("name").addText("张三"); //增加标签 name 内容是文本 contactelem.addElement("age").addText("20"); //增加标签 age 内容属于文本 //无论 是创建 ,修改,还是删除后都要 写出到文件中 FileOutputStream out=new FileOutputStream("e:/contact2.xml"); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("utf-8"); XMLWriter writer= new XMLWriter(out,format); writer.write(doc); writer.close();

创建效果如下:

<?xml version="1.0" encoding="utf-8"?>

<contactList> 
  <contact > 
    <name>jimi</name>  
    <age>20</age> 
  </contact> 
</contactList>

修改代码段:

    @Test
    public void modify3() throws Exception   {
        
       //修改就这三行代码
        Document doc= new SAXReader().read(new File("e:/contact2.xml"));
        Element name=doc.getRootElement().element("contact").element("name");
        name.setText("jimi");
FileOutputStream out = new FileOutputStream("e:/contact2.xml"); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("utf-8"); XMLWriter writer = new XMLWriter(out,format); writer.write(doc); writer.close(); }