创建项目
导入jar包
<!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
准备xml文件
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person id="p001">
<name>张三</name>
</person>
<person id="p002">
<name>李四</name>
</person>
</persons>
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;
import java.util.List;
public class Dom4jTest {
// 入门
// ok
@Test
public void fhjlkasd() throws DocumentException {
// 获得操作Xml文件的核心对象
SAXReader saxReader = new SAXReader();
// 读取加载我们的目标的文件
Document document = saxReader.read("D:\\IntelliJ IDEA 2018.2.5\\IEDAMBY\\dom4jtest\\src\\main\\resources\\person.xml");
// Document document1 = saxReader.read("person.xml");
Element rootElement = document.getRootElement();
// person.xml
// 获得了根元素下的所有的元素,返回一个list集合
List elements = rootElement.elements();
// System.out.println(elements);
elements.forEach(l ->{
System.out.println(l);
});
}
// 剖析
// ok
@Test
public void fdlksajflk() throws Exception{
// 获得操作XML的核心对象
SAXReader saxReader = new SAXReader();
// 加载我们的目标标签
Document document = saxReader.read("D:\\IntelliJ IDEA 2018.2.5\\IEDAMBY\\dom4jtest\\src\\main\\resources\\person.xml");
// 获得根元素
Element rootElement = document.getRootElement();
// 获得根元素下的所有的子元素
List elements = rootElement.elements();
Element element = (Element) elements.get(0);
System.out.println(element); // org.dom4j.tree.DefaultElement@16b3fc9e [Element: <person attributes: [org.dom4j.tree.DefaultAttribute@e2d56bf [Attribute: name id value "p001"]]/>]
// 获得当前元素的标签名
String name = element.getName();
System.out.println(name); // person
// 获得了指定的属性对象
Attribute attribute = element.attribute("id");
System.out.println(attribute); // org.dom4j.tree.DefaultAttribute@e2d56bf [Attribute: name id value "p001"]
String value = attribute.getValue();
System.out.println(value); // p001
// 直接通过标签对向获得对应的值
String id = element.attributeValue("id");
System.out.println(id); // p001
Element name1 = element.element("name");
String name2 = name1.getName();
System.out.println(name2); // name
String text = name1.getText(); // 获得文本值
System.out.println(text);// 张三
String elementText = element.elementText("name"); //
System.out.println(elementText); // 张三
}
}