测试数据:
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
<name>Java编程基础</name>
<price>88</price>
</book>
<book>
<name>Java高级应用</name>
<price>99</price>
</book>
</books>
Maven依赖
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.6</version>
</dependency>
测试代码:
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;
import java.io.File;
import java.util.List;
/**
* Created by Administrator on 2018/7/7 17:14 in Beijing.
*/
public class Dom4jTest {
@Test
public void demo1() throws DocumentException {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(new File("./src/main/resources/books.xml"));
//得到根元素
Element rootElement = document.getRootElement();
List<Element> bookList1 = rootElement.elements();
for (Element book : bookList1) {
System.out.println(book.element("name").getText() + " ---- "+ book.element("price").getText());
}
System.out.println();
System.out.println(rootElement.selectSingleNode("//name").getText()); //获取的是第一个
System.out.println();
//使用Xpath方式
List<Element> bookList2 = rootElement.selectNodes("//book");
for (Element book : bookList2) {
System.out.println(book.element("name").getText() + " ---- "+ book.element("price").getText());
}
}
}
输出:
Java编程基础 ---- 88
Java高级应用 ---- 99
Java编程基础
Java编程基础 ---- 88
Java高级应用 ---- 99