如何解析XML?

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 如何解析XML?

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

目录
相关文章
|
28天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
29天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
17天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
18天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
20天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
19天前
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
60 0
|
25天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
19天前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
39 0
|
19天前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
29 0
|
19天前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
33 0

推荐镜像

更多