前言:对Dom4j解析XML文件回顾练习。
一、添加jar包
在项目下新建lib文件夹,将dom4j解析jar包复制到该路径,点击jar包右键BuildPath–>Add to buildpath
二、创建XML文件,编写XML
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<student className="cn.itcast.javaeevideoday02.Student">
<name>张三</name>
<age>18</age>
<sex>男</sex>
</student>
<student className="cn.itcast.javaeevideoday02.Student">
<name>李四</name>
<age>20</age>
<sex>男</sex>
</student>
<student className="cn.itcast.javaeevideoday02.Student">
<name>王五</name>
<age>22</age>
<sex>男</sex>
</student>
</beans>
三、对XML文件进行解析
import org.dom4j.io.SAXReader;
/**
*
* @author 大家都说名字长不会被发现
*
*/
public class Dom4jParseTest {
public static void main(String[] args) throws Exception {
//获取SAXReader对象
SAXReader reader = new SAXReader();
//读取xml文件
Document document = reader.read("bean.xml");
//获取根标签
Element rootElement = document.getRootElement();
// //获取根标签下所有子标签
// List elements = rootElement.elements();
//获取根标签下指定子标签
List<Element> elements = rootElement.elements("student");
for (Element element : elements) {
//获取标签属性值
String attribute = element.attributeValue("className");
System.out.println(attribute);
//获取指定子标签文本值
System.out.println(element.elementText("name"));
System.out.println(element.elementText("age"));
System.out.println(element.elementText("sex"));
}
}
}
四、dom4j常用方法
常用API如下:
1.SaxReader对象
a)read(…) 加载执行xml文档
2.Document对象
a)getRootElement() 获得根元素
3.Element对象
a)elements(…) 获得指定名称的所有子元素。可以不指定名称
b)element(…) 获得指定名称第一个子元素。可以不指定名称
c)getName() 获得当前元素的元素名
d)attributeValue(…) 获得指定属性名的属性值
e)elementText(…) 获得指定名称子元素的文本值
f)getText() 获得当前元素的文本内容