关键技术
1.SAXReader类
该类用于解析XML文档
2.Document类
该类是一个文档实例,通过该类的addelement()方法可以实现向XML中添加元素,并可获得封装文档子元素的Element对象
Element element = document.addelement("这里写XML文件的根元素");
3.Element类
该类封装了文档中的元素信息
(1).addcomment()方法:该方法用于向XML文档中添加注释
(2).addelement()方法:该方法用于向XML文件中添加子元素
(3).settext()方法:该方法用于设置元素的文本
(4).addAttribute()方法:该方法用于向元素中添加属性。它有两个String类型的参数
name:指定属性名称
value:指定属性值
实例代码
import java.io.File;
import java.io.FileWriter;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class Temp {
//创建SAXReader对象,解析XML文档
SAXReader reader =null;
//写入XML数据流是需要使用
XMLWriter output=null;
OutputFormat format = null;
public Temp(){
this.reader= new SAXReader();
}
public void addXmlNod(String fileName){
//加异常捕获的快捷键是:Shift+Alt+Z 选择6选项
try {
//创建文档对象
Document document = reader.read(new File(fileName));
//获取user元素中的子元素
List list = document.selectNodes("/user");
//迭代list中的元素
Iterator iter = list.iterator();
Element element = (Element)iter.next();
Element nameElement = element.addElement("name");
//设置name节点的属性值为:xiaoming
nameElement.setText("xiaoming");
//创建节点
format=OutputFormat.createCompactFormat();
//设置编码
format.setEncoding("utf-8");
output=new XMLWriter(new FileWriter(fileName),format);
//向数据流写入数据
output.write(document);
//释放资源
output.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}