DOM是Document Object Model的缩写,DOM模型就是把XML结构作为一个树形结构处理,从根节点开始,每个节点都可以包含任意个子节点。
创建一个SaxReader输入流,去读取xml配置文件,生成Document对象。
通过Document获取根元素
通过根元素获取对应标签对象
遍历处理对应标签
首先导入dom4j的jar包,这里用maven对jar包进行管理
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.1</version>
</dependency>
xml文件
<books>
<book sn="SN1354665">
<name>母猪的产后护理</name>
<author>佚名</author>
<price>45</price>
</book>
<book sn="SN135466">
<name>Java开发</name>
<author>王老师</author>
<price>45.5</price>
</book>
</books>
读取xml文件
//1、读取books.xml
SAXReader saxReader=new SAXReader();
Element rootElement = null;
try {
Document doc=saxReader.read("src/main/java/javaWeb/xml/books.xml");
//2、通过Document获取根元素
rootElement = doc.getRootElement();
} catch (DocumentException e) {
e.printStackTrace();
}
//3、通过根元素获取book标签对象
//element 和 elements 都是通过标签名查找子元素
List<Element> books = rootElement.elements("book");
//4、遍历,处理每个book标签转化为Book
for (Element book:books){
//asXML 将标签对象转换为字符串
Element name=book.element("name");
//getText:获取标签中的文本
String sname= null;
try {
sname = name.getText();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(sname);
//获取单标签中的内容
String sn=book.attributeValue("sn");
}