Java 中的 XML: 文档模型,第一部分:性能
2009-11-05 00:00:00 来源:WEB开发网使用内存中 XML 文档的 Java 开发者可以选择使用标准 DOM 表示或几个 Java 特定模型中的任何一个。该灵活性已经帮助将 Java 建立成 XML 工作的出色平台。但是,由于不同模型数量的增加,已经更加难以确定如何比较模型的功能、性能和易用性。
关于使用“Java 中的 XML”系列中的第一篇文章研究了 Java 中一些领先的 XML 文档模型的特性和性能。它包括一组性能测试的结果。在系列中的第二篇文章将通过比较为实现同样任务所使用的不同模型的样本代码来研究易用性问题。
文档模型
Java 中的可用文档模型数一直在增加。对于本文,我已经涵盖了最常用的模型和几项选择,这演示了那些可能还未被广泛了解或使用的特别令人感兴趣的特性。随着“XML 名称空间”的重要性增加,我已经包含了仅支持该功能的模型。下面列出了带有简要介绍和版本信息的模型。
仅为说明本文中所使用的术语:
解析器是指解释 XML 文本文档结构的程序
文档表示是指程序用于内存中文档的数据结构
文档模型是指支持使用文档表示的库和 API
某些 XML 应用程序根本不需要使用文档模型。如果应用程序可以通过文档的一次遍历搜集它需要的信息,则可能直接使用解析器。该方法可能需要增加一些工作量,但是它的性能总是优于在内存中构建文档表示。
DOM
DOM(“文档对象模型”)是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准。对于任何 Java 特定的模型,它是很好的对照。为了值得与 DOM 标准分开,Java 特定模型应该提供比 Java DOM 实现更优越的性能和/或易用性的优势。
DOM 定义充分利用了 XML 文档不同组件的接口和继承性。这为开发者带来了将公共接口用于几个不同类型组件的优势,但是同时增加了 API 的复杂性。因为 DOM 是与语言无关的,所以接口不需要利用公共 Java 组件,例如,Collections 类。
赞助商链接