<b>用JDOM简化XML编程</b>[Java编程]
本文“<b>用JDOM简化XML编程</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
作为开辟人员,您大概据说过 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 向叶范例作显式下拉会招致代码的冗长和难以理解.
接口驱动.大众 DOM API 仅由接口构成( Exception 类是一个例外,但恰好充足了).w3c 对供应实现并不感爱好,它只对定义接口(对比有意义)感爱好.但它也意味着作为 Java 程序员利用 API 在成立 XML 对象时增添了分离程度,因为 w3c 尺度大量利用工厂化的类和近似的机动的但不直接的情势.在某些利用中,XML 文档是仅由语法解析器成立的,而从不会由利用程序级代码成立,这是不相关的.但是,随着 XML 更遍及的利用,并非全部问题都持续需求由语法解析器来驱动.利用程序的开辟人员需求一个更便利的办法有筹划地构造 XML 对象.
关于程序员,这些约束意味着宏大(在内存占用和接口大小方面)的和难掌握的 API,学习和利用都很难.相反,JDOM 是作为一种轻量级 API 被拟定的,最主要的是它是以 Java 为中央的.它在遵守 DOM 主要法则的底子上除去了上述缺陷:
JDOM 是 Java 平台专用的.只要有大概,API 都利用 Java 语言的内建 String 支持,因此文本值也实用于 String .它还可操纵 Java 2 平台的类集,如 List 和 Iterator ,给程序员供应了一个丰富的并且和 Java 语言近似的环境.
没有层次性.在 JDOM 中,XML 元素就是 Element 的实例,XML 属性就是 Attribute 的实例,XML 文档本身就是 Document 的实例.由于在 XML 中全部这些都代表了差别的概念,因此它们老是作为自己的范例被引用,而不是作为一个含糊的“结点”.
类驱动.因为 JDOM 对象就是像 Document 、 Element 和 Attribute 这些类的直接实例,因此成立一个新 JDOM 对象就如在 Java 语言中利用 new 操作符一样简单.它还意味着不需求举行工厂化接口配置 -- JDOM 的利用是直截了当的.
看,没有 Node :成立和操作 JDOM 文档
JDOM 利用尺度的 Java 编码情势.只要有大概,它利用 Java new 操作符而不用复杂的工厂化情势,使对象操作即便关于初学用户也很便利.比方,让我们看一下若何随便利用 JDOM 成立一个简单的 XML 文档.我们将要成立的构造如清单 1 所示.
以上是“<b>用JDOM简化XML编程</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |