快速业务通道

Java中的XML: 文档模型,第一部分:性能 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
uo;。虽然实际将采用的格式仍在开发中,还是对两个 beta 测试版的 JDOM API 做了很大的更改,。从 2000 年初就已经开始了 JDOM 开发。

JDOM 与 DOM 主要有两方面不同。首先,JDOM 仅使用具体类而不使用接口。这在某些方面简化了 API,但是也限制了灵活性。第二,API 大量使用了 Collections 类,简化了那些已经熟悉这些类的 Java 开发者的使用。

JDOM 文档声明其目的是“使用 20%(或更少)的精力解决 80%(或更多)Java/XML 问题”(根据学习曲线假定为 20%)。JDOM 对于大多数 Java/XML 应用程序来说当然是有用的,并且大多数开发者发现 API 比 DOM 容易理解得多。JDOM 还包括对程序行为的相当广泛检查以防止用户做任何在 XML 中无意义的事。然而,它仍需要您充分理解 XML 以便做一些超出基本的工作(或者甚至理解某些情况下的错误)。这也许是比学习 DOM 或 JDOM 接口都更有意义的工作。

JDOM 自身不包含解析器。它通常使用 SAX2 解析器来解析和验证输入 XML 文档(尽管它还可以将以前构造的 DOM 表示作为输入)。它包含一些转换器以将 JDOM 表示输出成 SAX2 事件流、DOM 模型或 XML 文本文档。JDOM 是在 Apache 许可证变体下发布的开放源码。用于性能比较的版本是 JDOM Beta 0.7(jar 文件大小是 0.1MB)它带有用于从文本文件构建 JDOM 表示的 Crimson SAX2 解析器。

Java中的XML: 文档模型,第一部分:性能(2)

时间:2011-01-25 IBM Dennis M. Sosnoski

dom4j

虽然 dom4j 代表了完全独立的开发结果,但最初,它是 JDOM 的一种智能分支。它合并了许多超出基本 XML 文档表示的功能,包括集成的 XPath 支持、XML Schema 支持(当前为 alpha 格式)以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项,它通过 dom4j API 和标准 DOM 接口具有并行访问功能。从 2000 下半年开始,它就一直处于开发之中,保留了最近发行版之间的现有 API。

为支持所有这些功能,dom4j 使用接口和抽象基本类方法。dom4j 大量使用了 API 中的 Collections 类,但是在许多情况下,它还提供一些替代方法以允许更好的性能或更直接的编码方法。直接好处是,虽然 dom4j 付出了更复杂的 API 的代价,但是它提供了比 JDOM 大得多的灵活性。

在添加灵活性、XPath 集成和对大文档处理的目标时,dom4j 的目标与 JDOM 是一样的:针对 Java 开发者的易用性和直观操作。它还致力于成为比 JDOM 更完整的解决方案,实现在本质上处理所有 Java/XML 问题的目标。在完成该目标时,它比 JDOM 更少强调防止不正确的应用程序行为。

dom4j 使用相同方法作为 JDOM 输出,这依靠 SAX2 解析器输入处理,依靠转换器将输出处理成 SAX2 事件流、DOM 模型或 XML 文本文档。dom4j 是在 BSD 样式许可证下发布的开放源码,该许可证本质上等价于 Apache 样式许可证。用于性能比较的版本是 dom4j 0.9(jar 文件大小是 0.4MB),带有用于从文本文件构建表示的受绑定 AElfred SAX2 解析器(由于 SAX2 选项设置,测试文件之一无法由 dom4j 使用用于 JDOM 测试的同一 Crimson SAX2 解析器来处理)。

Electric XML

Electric XML(EXML)是支持分布式计算的商业项目的附属产物。它与目前为止讨论的其它模型的不同之处在于,它只能适当地支持 XML 文档的子集,它没有为验证提供任何支持并且有更严格的许可证。然而,EXML 的优势是大小很小并提供了对 XPath 子集的直接支持,因为在最近几篇文章中已经将它提升其它模型的替代模型,所以通过该比较使它成为一个引人注意的候选。

虽然 EXML 通过使用抽象的基本类方法取得了某些相同效果,但它在避免使用接口方面使用与 JDOM 类似的方法(主要区别是接口为扩展实现提供了更大的灵活性)。它与 JDOM

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号