在 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 中文文档