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