在
Java
程序中读取
XML
文件的过程称为解析
XML
解析
XML
文件的方式
1) DOM
解析
(java
官方提供
)
2) SAX
解析
(java
官方提供
)
3) JDOM
解析
(
第三方提供
)
4) DOM4J
解析
(
第三方提供
)
DOM
解析
XML
的步骤
1)
创建一个
DocumentBuilderFactory
的对象
2)
创建一个
DocumentBuilder
对象
3)
通过
DocumentBuilder
的
parse(...)
方法得到
Document
对象
4)
通过
getElementsByTagName(...)
方法获取到节点的列表
5)
通过
for
循环遍历每一个节点
6)
得到每个节点的属性和属性值
7)
得到每个节点的节点名和节点值
SAX
的概述
SAX
,全称
Simple API for XML
,是一种以事件驱动的
XMl API,SAX
与
DOM
不同的是它边扫描边解析,自顶向下
依次解析,由于边扫描边解析,所以它解析
XML
具有速度
快,占用内存少的优点
SAX
解析
XML
的步骤
1)
创建
SAXParserFactory
的对象
2)
创建
SAXParser
对象
(
解析器
)
3)
创建一个
DefaultHandler
的子类
4)
调用
parse
方法
JDOM
概述
JDOM
是一种解析
XML
的
Java
工具包,它基于树型结构,
利用纯
Java
的技术对
XML
文档实现解析。所以中适合于
Java
语言
JDOM
解析
XML
的步骤
1)
创建一个
SAXBuilder
对象
2)
调用
build
方法,得到
Document
对象
(
通过
IO
流
)
3)
获取根节点
4)
获取根节点的直接子节点的集合
5)
遍历集合DOM4J 是一个 Java 的 XML API,是 JDOM 的升级品,
用来读写 XML
文件的
DOM4J
解析
XML
的步骤
1)
创建
SAXReader
对象
2)
调用
read
方法
3)
获取根元素
4)
通过迭代器遍历直接节点
四种解析
XML
的特点
1)DOM
解析
:
形成了树结构,有助于更好的理解、掌握,且代码容易编写。 解析过程中,树结构保存在内存中,方便修改。
2)SAX
解析
:
采用事件驱动模式,对内存耗费比较小。 适用于只处理 XML
文件中的数据时
3)JDOM
解析
:
仅使用具体类,而不使用接口。
API
大量使用了
Collections
类。
4)DOM4J
解析
:
JDOM
的一种智能分支,它合并了许多超出基本
XML
文档表示的功能。 它使用接口和抽象基本类方法。
具有性能优异、灵活性好、功能强大和极端易用的特点。 是一个开放源码的文件
XPATH
技术
_
快速获取节点
准备资源
1) DOM4J
的
jar
包
2) Jaxen
的
jar
包
3) Xpath
中文文档