1,介绍:
DOM4J是dom4j.org出品的一个开源XML解析包。Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。
2使用前引入jar包
3:使用方法:中文帮助文档地址 : http://download.csdn.net/detail/zdingo2007/1962475
读写XML文档主要依赖于org.dom4j.io包,其中提供DOMReader和SAXReader两类不同方式,而调用方式是一样的。这就是依靠接口的好处。
4,DOM4j中,
首先要获取document对象,就是创建一个document文档
获得Document对象的方式有四种:
SAXReader reader = new SAXReader();
Document document = reader.read(new File("books.xml"));
2.解析XML形式的文本,得到document对象.
String text = "<book></book>";
Document document = DocumentHelper.parseText(text);
3.主动创建document对象.
Document document = DocumentHelper.createDocument(); //创建根节点
Document document = reader.read(new File("books.xml"));
2.解析XML形式的文本,得到document对象.
String text = "<book></book>";
Document document = DocumentHelper.parseText(text);
3.主动创建document对象.
Document document = DocumentHelper.createDocument(); //创建根节点
Element root = document.addElement("book");
4 //创建一个DocumentFactory对象
DocumentFactory factory = new DocumentFactory();
//通过factory对象创建一个doc文件对象
Document doc = factory.createDocument();
5.Element有几个重要的方法:
l addComment:添加注释
l addAttribute:添加属性
l addElement:添加子元素
Element root = document.addElement("root");
//添加一个节点
root.addElement("", "");
set方法
//设置一个属性和值
root.setAttributeValue("name", "12");
//更改根节点的名字
root.setName("");
// 给节点创建一个父节点
nodes.setParent(root);
//给节点添加文本内容
root.setText("");
get方法
//获得节点的名字
root.getName()
//获得节点的的文本内容
root.getText();
//获取父节点
root.getParent();
//获得根节点
doc.getRootElement()
//首先创建一个文档document
Document document = DocumentHelper.createDocument();
//创建根节点
Element root =DocumentHelper.createElement("book");
root.addComment("根节点book");
//把创建的根节点放入文档对象中
document.setRootElement(root);
//更改root的名字
//root.setName("123");
//给节点添加属性(方法一)
root.setAttributeValue("name", "bo1");
root.setAttributeValue("value", "bo2");
//给节点添加子节点
Element root1 =root.addElement("book1");
root1.addEntity(null, "给book加的add--Entity");
root.addElement("book2");
Element root3 =DocumentHelper.createElement("book3");
root.add(root3);
root3.addComment("这是book3");
root3.setText("给book3加的(set)text");
//给节点添加属性(方法二)
root.addAttribute("54321", "12345");
//document.addComment("这是一个xml文档");
//root.addComment("这是节点root注释");
//输出到控制台
XMLWriter xmlWriter = new XMLWriter();
xmlWriter.write(document);
//输出到文件
OutputFormat format = OutputFormat.createPrettyPrint();// 创建文件输出的时候,自动缩进的格式
format.setEncoding("UTF-8");//设置编码
XMLWriter writer = new XMLWriter(new FileWriter("src//book.xml"),format);
writer.write(document);
writer.close();