import java.io.File;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Xml_Demo1 {
public static void main(String[] args) {
//1.创建sax读取对象
SAXReader reader=new SAXReader();
//2.指定解析的xml源
try {
Document doc = reader.read(new File("src/XML/stus.xml"));
//3.得到元素(根元素)
//doc.getName();//路径地址
Element rootElement = doc.getRootElement();
rootElement.getName();//获取根元素的名字
rootElement.element("stu").getName();//获取根元素下的子元素
rootElement.element("stu").element("age").getName();//获取根元素下的子孙元素
rootElement.element("stu").element("age").getStringValue();//获取根元素下的子孙下的文本
//获取所有子元素stu元素
List<Element> elements = rootElement.elements();
//遍历所有的stu元素
for (Element element : elements) {
//获取stu元素下面的name元素
String name=element.element("name").getText();
String age=element.element("age").getText();
String sex=element.element("sex").getText();
//区别
//element.element("stu");返回该元素下的第一个stu元素
//element.elements();返回该元素下的所有子元素
System.out.println("name="+name+" age="+age+" sex="+sex);
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
}
}
}
XML文件
<?xml version="1.0" encoding="UTF-8"?>
<stus>
<stu>
<name>李倩倩</name>
<age>24</age>
<sex>女</sex>
</stu>
<stu>
<name>犯贱贱</name>
<age>22</age>
<sex>男</sex>
</stu>
</stus>