background image

Java 编 程 : Java 实 现 DOM 文 档 和 XML 文 件 互 相 转

本文简要描述了 DOM 的概念和内部逻辑结构,实例讲述 DOM 文档操作和 XML 文件互
相转换的 java 实现过程。
  1. DOM 简介
  目前,W3C 已于 2000 年 11 月 13 日推出了规范 DOM level 2。文档对象模型
(DOM)是 HTML 和 XML 文档的编程接口规范,它与平台和语言是无关的,因而可以用
各种语言在各种平台上实现。该模型定义了 THML 和 XML 文件在内存中的逻辑结构(即为
文档),提供了访问、存取 THML 和 XML 文件的方法。利用 DOM 规范,可以实现 DOM 文
档和 XML 之间的相互转换,遍历、操作相应 DOM 文档的内容。可以说,要自由的操纵
XML 文件,就要用到 DOM 规范。
  2. DOM 内部逻辑结构
  DOM 文档中的逻辑结构可以用节点树的形式进行表述。通过对 XML 文件的解析处理,
XML 文 件 中 的 元 素 便 转 化 为 DOM 文 档 中 的 节 点 对 象 。 DOM 的 文 档 节 点 有
Document、Element、Comment、Type 等等节点类型,其中每一个 DOM 文档必须有一
个 Document 节点,并且为节点树的根节点。它可以有子节点,或者叶子节点如 Text 节
点、Comment 节点等。任何的格式良好的 XML 文件中的每一个元素均有 DOM 文档中的
一个节点类型与之对应。利用 DOM 接口将 XML 文件转化成 DOM 文档后,我们就可以自
由的处理 XML 文件了。
  3. java 中的 DOM 接口
  DOM 规范提供的 API 的规范,目前 Sun 公司推出的 jdk1.4 测试版中的 java API 遵

 

循了 DOM level 2 Core 推荐接口的语义说明,提供了相应的 java 语言的实现。
 

 

org.xml.dom

jkd1.4

Document、DocumentType、Node、NodeList、Element、Text 等接口,这些接口均是
访问 DOM 文档所必须的。我们可以利用这些接口创建、遍历、修改 DOM 文档。
    在 javax.xml.parsers 中 , jkd1.4 提 供 的 DoumentBuilder 和
DocumentBuilderFactory 组合可以对 XML 文件进行解析,转换成 DOM 文档。
  在 javax.xml.transform.dom 和 javax.xml.transform.stream 中,jdk1.4 提供
了 DOMSource 类和 StreamSource 类,可以用来将更新后的 DOM 文档写入生成的
XML 文件中。
  4. 例程
  4.1 将 XML 文件转化成 DOM 文档
  这个过程是获得一个 XML 文件解析器,解析 XML 文件转化成 DOM 文档的过程。
  Jdk1.4 中,Document 接口描述了对应于整个 XML 文件的文档树,提供了对文档
数据的访问,是该步骤的目标。Document 接口可以从类 DocumentBuilder 中获取,