XML 现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关
性,给数据集成与交互带来了极大的方便. W3C 定义了 XML 的语法以及 XML 的读写操作
方法,任何计算机高级语言都可以实现对 XML 的读写操作, 本节将学习 Java 对 XML 的
读写操作。
1. 两种解析方式
XML 在不同的语言里解析方式都是一样的,只不过实现的语法不同而已。基本的解析
方式有两种,一种是 SAX(Simple API for XML),另一种是 DOM(Document Object
Model)。
þSAX: 用于 XML 处理的简单 API
基于事件驱动的XML 处理技术,使用SAX 解析XML 时,程序从XML 文档的开头
逐字逐句的读取,在此过程中激发事件(比如:文档开始,文档结束,元素开始,元素结
束等事件),由应用程序对 XML 数据进行处理。例如,startElement()在每次 SAX 解析
器遇到元素的起始标记时激发。endElement() 在元素的结束标记时激发。
þDOM:XML 文档树结构的解析
DOM 把 XML 文档中的元素、文本、属性视为节点,组成一种树结构,称为 DOM
树,通过DOM 树可以访问所有的节点。也可以修改节点的内容,添加、删除节点等操作。
W3C Dom 是 W3C 推荐的用于解析的 XML 文件解析模型。W3C 规定了 DOM 解析的接
口和对象,用于对DOM 进行标准操作。
两者的比较:
Java 有丰富的组件提供对 XML 进行操作,常见的有 4 中操作方式:JAXP、JDOM、
DOM4J、JAXB 等。他们在不同的领域对 XML 进行方便操作。
1.1 解析用的 xml 文档
为了演示各种操作的方式,需要准备一个 xml 文档
![](http://hi.csdn.net/attachment/201108/22/0_13140283206Tut.gif)
2. JAXP (Java APIfor XML Processing )
JAXP 是使用 JavaAPI 对 XML 进行处理的一种规范,它提供接口来操作 SAX 和 DOM。
JAXP 的 API 已经包含在 JDK 中,它包含了三个包:
org.w3c.dom:
W3C 推荐的用于 XML 操作的标准文档对象模型的接口。
org.xml.sax:
用于对XML 进行语法分析的事件驱动的 XML 简单API(SAX)
Javax.xml.parsers:
解析器工厂工具,程序员获得并配置特殊的语法分析器。
W3C DOM 的常用对象及其方法有: