Dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP.
了解xml-dom模型,对于学习dom4j有很大的帮助。dom4j用于读写xml文件,是xml文档的一种解析方式。(xml文档的一种解析方式还有dom、sax、jdom)。
DOM(document Object model)将xml文档中的元素、属性、文本等都封装成了节点对象,从而更加容易操作这些节点。DOM本身就是对外暴露的一套API。
读写XML文档主要依赖于org.dom4j.io包,其中提供DOMReader和SAXReader两类不同方式,而调用方式是一样的。
----------------获取内容------------------------
获取xml文档对象Document。
File xmlFile = new File(“test.xml”);
SAXReader reader= new SAXReader();
Document xmlDoc= reader.read(xmlFile);
获取根元素对象
Element root = xmlDoc.getRootElement();
获取根元素名称
String elementName = root.getName();
获取直接子元素对象 通过元素名称获取元素对象
Elementelement = root.element(“元素名称");
获取所有直接子元素对象集合
ListelementList = root.elements();
获取元素对象中的文本 获取element元素的内部文本
Stringtext = element.getText();
获取element子元素内部文本
Stringtext = element.elementText(“子元素名称”);
获取元素属性对象 通过属性名获取元素属性对象
Attribute attribute = element.attribute(“属性名称");
通过索引获取属性对象
Attribute attribute = element.attribute(0);
获取所有属性对象集合
List attributeList = root.attributes();
获取属性值 通过属性对象
String value =attribute.getValue();
通过元素对象
String value = element.attributeValue(“属性名称”);
-------------------------------------------------------------------------------------
------------------------变动内容---------------------------------------------------
创建文档Document
Document document = DocumentHelper. createDocument();
创建元素
Element element = document.addElement(“元素名称");
创建属性
element.addAttribute(“属性名”,“属性值");
添加属性方法返回的是原元素对象。如同StringBuffer。
创建文本
element.addText(“文本");
删除节点
remove(Element element)
remove(Attribute attribute)
remove(Text text)
remove(Node node)
Node接口的子类对象都可以移除
注意:remove是移除直接子节点时使用parentElement.remove(childElement);