标签:
1.获取document对象
1.1 创建saxreader对象
SAXReader sr = new SAXReader();
1.2通过该对象解析xml文件,返回document对象
Document document = sr.read(filename);
注意:整个过程都只能使用dom4j提供的全套API
2.回写:当我们对XML文件进行了修改或者删除等操作时都要进行回写才能将改变反馈到xml文件中
2.1因为我们在回写的时候要对文件进行格式化,所以先创建格式化对象
OutputFormat format = OutputFormat.createPrettyPrint();
//设定对应的码表
format.setEncoding("utf-8");
2.2创建写出工具,传入一个字节输出流对象个和前面的格式化对象
XMLWriter writer = new XMLWriter(new FileOutputStream(fileUrl), format);
2.3将制定对象写出
writer.write(document);
2.4关流
writer.close();
3.查找
3.1通过document对象获取都根元素对象
Element root = document.getRootElement();
3.2获取到根元素下的所有子元素的一个集合
这里以子元素book为例
List<Element> books = root.elements("book");
3.3通过遍历获取到每一个元素
for (Element book : books) {
System.out.println(book);
}
3.4获取元素的属性值
String attributeValue = book.attributeValue("category");
3.5获取元素下子元素的文本值
String text = book.elementText("author");
4.增加元素
4.1通过DocumentHelper创建新的子元素
Element title = DocumentHelper.createElement("title");
4.2给新创建的元素添加属性值
title.addAttribute("lang", "en");
4.3给新创建的元素添加文本值
title.setText("Learning XML");
4.4确定要将该新创建的元素添加在那个元素下面,获取到该元素
//1.得到根元素
Element root = document.getRootElement();
// 2.获取root的最后一个book元素
Element book = (Element) root.elements("book").get(2);
4.5将新创建的元素添加到该元素的下面
//传入添加位置的索引值和要添加的元素
book.elements().add(0, title);
4.6回写,这里我们将回写操作抽取成了一个方法
Dom4JUtils.documentToXml(document, "WebRoot/bookstore.xml");
5.修改操作
5.1 修改属性 属性不存在,执行添加,属性存在,执行修改
book.addAttribute("category", "java");
5.2 修改文本
book.element("title").setText("编程思想");
5.3回写
6.删除操作
6.1删除book元素 需要通过父元素来删除子元素
root.elements().remove(2);
6.2回写
标签:
原文地址:http://www.cnblogs.com/xusong/p/5797012.html