首先要了解一下什么是xml文件,xml是可扩展标识语言,(Extensible Markup Language)就是开发者在符合xml命名的基础之上,可以根据自己的需求定义自己的标签。它的作用主要是用来存储数据。
解析xml文件的方法有三种DOM、DOM4J、SAX前两种是一次性读取xml文件中的所有内容,然后进行解析,SAX是边读边解析,适合于解析大的文件。
接下来介绍一下通过DOM4J的方法解析xml文件。
-
需要导入
dom4j-1.6.1.jar
包。 -
Dom4j常用的对象
1、SAXReader:读取xml文件到Document树结构文件对象
2、Document:是一个xml文档对象树,类比Html文档对象。
3、Element:元素节点。通过Document对象可以查找单个元素。 -
Dom4j解析步骤
1、创建解析器SAXReader reader = new SAXReader();
2、Document对象:通过解析器read方法获取 Document doc =
reader.read(“inform.xml”);
3、获取xml根节点 Element root = doc.getRootElement();
4、遍历解析子节点 -
参考代码
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class XMLTest {
public static void main(String[] args) {
try {
//创建解析器
SAXReader reader = new SAXReader();
//通过解析器的read方法将配置文件读取到内存中,生成一个document[dom4j]对象树
Document doc = reader.read("conf/stu1.xml");
//获取根节点
Element root = doc.getRootElement();
//开始遍历根节点
for(Iterator itar = root.elementIterator();itar.hasNext();) {
Element student = (Element)itar.next();
for(Iterator innerIterator = student.elementIterator();innerIterator.hasNext();) {
Element innerElement = (Element)innerIterator.next();
String name = innerElement.getName();
String value = innerElement.getStringValue();
System.out.println(name+value);
}
}
} catch (DocumentException e) {
e.printStackTrace();
}
System.out.println();
}
}