快速业务通道

Java6 WebService人薩極撃廾 - 園殻秘壇利

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19

用JDOM简化XML编程

时间:2011-02-08 IBM Wes Biggs

作为开发人员,您可能听说过 80-20 规则,在其它领域被称为 Pareto 法则:一种过程或方法能适应所有可能情况的 80%,另外的 20% 则需要根据具体情况来处理。软件开发的必然结果是:对于开发人员而言,有了给定的技术后就能非常容易地完成可能要做的工作的 80%。

当然,软件产品和标准并不总是根据 80-20 规则发展的。特别的,Java XML 的缺陷就是这条规则的一个例外。Java 的编程世界拥有很多的 API -- 一些是自己开发的,一些是由几个大公司开发并被制定为标准的 -- 他们提供了解决特殊 XML 任务的成熟解决方案。作为 XML 普遍性的证明,每个新任务都存在着一种新技术,但如何将它们结合在一起,又如何寻找一种合适的工具去完成必须重复做的任务中的 80% -- 利用 Java 语言的直观映象的基本 XML 树操作?JDOM 正好是用来解决上述问题的一个 XML API。

标记:Java 和 XML

在许多方面,Java 语言已变成供 XML 选择的一种编程语言。由于 Apache 软件基金会和 IBM alphaWorks 所做的开创性工作,现在已有完整的工具链用于创建,操作,传送文档和对 XML 文档进行语法分析。

但是,虽然许多 Java 开发人员每天都在使用 XML,Sun 却在将 XML 整合进 Java 平台方面落后了。因为在 XML 成为从商家对商家集成到 Web 站点内容流水化等方面的关键技术之前,Java 2 平台就已经非常流行了。Sun 已经使用 JSR 过程使之成为现存 XML API 的鼻祖,这一点已被广泛接受。目前最显著的是加入了 JAXP (用于 XML 语法分析的 Java API),其中包含了三个软件包:

org.w3c.dom ,W3C 推荐的用于 XML 标准规划文档对象模型的 Java 工具

org.xml.sax ,用于对 XML 进行语法分析的事件驱动的简单 API

javax.xml.parsers ,工厂化工具,允许应用程序开发人员获得并配置特殊的语法分析器工具

尽管对于 Java 开发人员而言,有了这些软件包是件好事,但它仅仅代表获得了现有 API 标准的正式许可而已,并没有在提供一流的 Java-XML 互操作性方面取得了巨大飞跃。核心 Java 平台所缺乏的是将 XML 文档作为 Java 对象操作的直观接口。

进入 JDOM。JDOM 是两位著名的 Java 开发人员兼作者,Brett Mclaughlin 和 Jason Hunter 的创作成果, 2000 年初在类似于 Apache 协议的许可下,JDOM 作为一个开放源代码项目正式开始研发,JDOM 作为一个开放源代码项目正式开始了。它已成长为包含来自广泛的 Java 开发人员的投稿、集中反馈及错误修复的系统,并致力于建立一个完整的基于 Java 平台的解决方案,通过 Java 代码来访问、操作并输出 XML 数据。

这是 JDOM 适合的 API、哑元

JDOM 能够替换 org.w3c.dom 软件包来有计划地操作 XML 文档。它并不是一个简单的替代品,实际上 JDOM 和 DOM 能够愉快地并存。另外,尽管它提供的类的封装从配置和运行分析器执行中分担了大量工作,但它不负责根据文本输入来对 XML 进行语法分析。JDOM 建立在现有的 API 的能力之上,正如项目网页所表述的“一个更好的捕鼠器”。

要理解需要备用 API 的原因,就要考虑 W3C DOM 设计的局限性:

语言独立。DOM 并不是用人们心目中的 Java 语言设计的。虽然这种方法保留了在不同语言中非常相似的 API,它也使那些习惯 Java 语言的程序员感到更麻烦。例如:Java 语言内建了一种 String 类,而 DOM 则规范定义了自己的 Text 类。

严格的层次结构。DOM API 直接沿袭了 XML 规范。在 XML 中,每件东西都是一个结点,因此您能在 DOM 中找到一个几乎每件东西都可以扩展的基于 Node 的接口和返回 Node 的一系列方法。就多态性的观点来讲,它是优秀的,但鉴于如上解释,它在 Java 语言中的应用是困难而且不便的,其中从 Node

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号