DOM4j简介
DOM4J是dom4j.org出品的一个开源XML解析包,是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的软件。Hibernate也用它来读写配置文件。
使用步骤
获取指定名称的节点
- 创建SAXReader对象
- 通过SAXReader读取文件路径,获取相应的Document
- 通过Document获取xml文件的根节点
- 通过根节点获取相应的子节点
- 遍历所有子节点,找到符合名称的子节点并打印
public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read("src/com/cyf/students.xml");
//获取根节点
Element rootElement = document.getRootElement();
//获取其中子节点
List<Element> elements = rootElement.elements();
//遍历子节点
for(Element element: elements){
//获取name子节点
Element element1 = element.element("name");
//打印子节点
System.out.println(element1.getText());
}
}
向xml文件中添加节点
- 建立SAXReader对象
- 通过SAXReader读取文件路径,获取相应的Document
- 通过Document获取xml文件的根节点
- 向根节点中添加相应的子节点并返回
- 向子节点中继续加入节点
- 建立io流并写入
public static void main(String[] args) throws Exception {
SAXReader reader = new SAXReader();
//读取xml文件
Document document = reader.read("src/com/cyf/students.xml");
//获取根节点
Element rootElement = document.getRootElement();
//向根节点中加入子节点并返回
Element element = rootElement.addElement("student");
element.addElement("name").setText("赵六");
element.addElement("age").setText("99");
element.addElement("sex").setText("男");
//建立io流并写入
Writer wr = new OutputStreamWriter(new FileOutputStream("src/com/cyf/students.xml"),"UTF-8");
document.write(wr);
wr.close();
}