- 浏览: 141198 次
- 性别:
- 来自: 广州
最新评论
-
zfms:
写的不孬,有时间交流一下
Openfire Server presence(在线状态)消息处理流程 -
yangjianzhouctgu:
您好 可以请教您个问题吗
Aptana Ajax库插件---EXT2.0 -
tianlihu:
不错,比较有效解决了问题
IE6中用了float:left之后导致margin-left双倍边距的BUG解决方法 -
mzba520:
我想请问能不能把openfire部署到tomcat中去,就是把 ...
openfire 源代码研究一 (运行环境的搭建) -
eric_hwp:
...
部署Openfire源码
开放源代码 API 使 Java 开发人员更加容易地操作 XML 文档 |
级别: 初级 Wes Biggs (wes@tralfamadore.com), 高级开发人员, T.H.I. 2001 年 5 月 14 日 JDOM 是一种使用 XML 的独特 Java 工具包,用于快速开发 XML 应用程序。它的设计包含 Java 语言的语法乃至语义。但是它是否比现有的 -- 更标准的 -- XML APL 好呢?当我们看过一些示例并说明这个流行的开放源代码项目的设计目标后,您自己来判断吧。最近这个开放源代码项目已被正式接受成为 Java 规范要求。<!----><!----><!----> 作为开发人员,您可能听说过 80-20 规则,在其它领域被称为 Pareto 法则:一种过程或方法能适应所有可能情况的 80%,另外的 20% 则需要根据具体情况来处理。软件开发的必然结果是:对于开发人员而言,有了给定的技术后就能非常容易地完成可能要做的工作的 80%。 当然,软件产品和标准并不总是根据 80-20 规则发展的。特别的,Java XML 的缺陷就是这条规则的一个例外。Java 的编程世界拥有很多的 API -- 一些是自己开发的,一些是由几个大公司开发并被制定为标准的 -- 他们提供了解决特殊 XML 任务的成熟解决方案。作为 XML 普遍性的证明,每个新任务都存在着一种新技术,但如何将它们结合在一起,又如何寻找一种合适的工具去完成必须重复做的任务中的 80% -- 利用 Java 语言的直观映象的基本 XML 树操作?JDOM 正好是用来解决上述问题的一个 XML API。 在许多方面,Java 语言已变成供 XML 选择的一种编程语言。由于 Apache 软件基金会和 IBM alphaWorks 所做的开创性工作,现在已有完整的工具链用于创建,操作,传送文档和对 XML 文档进行语法分析。 但是,虽然许多 Java 开发人员每天都在使用 XML,Sun 却在将 XML 整合进 Java 平台方面落后了。因为在 XML 成为从商家对商家集成到 Web 站点内容流水化等方面的关键技术之前,Java 2 平台就已经非常流行了。Sun 已经使用 JSR 过程使之成为现存 XML API 的鼻祖,这一点已被广泛接受。目前最显著的是加入了 JAXP (用于 XML 语法分析的 Java API),其中包含了三个软件包:
尽管对于 Java 开发人员而言,有了这些软件包是件好事,但它仅仅代表获得了现有 API 标准的正式许可而已,并没有在提供一流的 Java-XML 互操作性方面取得了巨大飞跃。核心 Java 平台所缺乏的是将 XML 文档作为 Java 对象操作的直观接口。 进入 JDOM。JDOM 是两位著名的 Java 开发人员兼作者,Brett Mclaughlin 和 Jason Hunter 的创作成果, 2000 年初在类似于 Apache 协议的许可下,JDOM 作为一个开放源代码项目正式开始研发,JDOM 作为一个开放源代码项目正式开始了。它已成长为包含来自广泛的 Java 开发人员的投稿、集中反馈及错误修复的系统,并致力于建立一个完整的基于 Java 平台的解决方案,通过 Java 代码来访问、操作并输出 XML 数据。
JDOM 能够替换 要理解需要备用 API 的原因,就要考虑 W3C DOM 设计的局限性:
对于程序员,这些约束意味着庞大(在内存占用和接口大小方面)的和难掌握的 API,学习和使用都很难。相反,JDOM 是作为一种轻量级 API 被制定的,最主要的是它是以 Java 为中心的。它在遵循 DOM 主要规则的基础上除去了上述缺点:
JDOM 使用标准的 Java 编码模式。只要有可能,它使用 Java 清单 1. 建立 XML 文档样本
注意:我们将建立 示例文档,在下面的清单 2 到清单 7 中有详细描述。 开始,让我们先创建一个根元素,并将其添加到文档中: 清单 2. 创建一个 Document
这一步创建一个新 下一步,添加 清单 3. 添加一个 Attribute
添加元素也是很简单的。这里我们添加 清单 4. 元素和子元素
由于 清单 5. 用简洁形式添加元素
这两个语句完成了相同的工作。有些人认为第一个示例可读性更好,但是如果您一次建立许多元素,您会觉得第二个示例可读性更好。要完成构建文档: 清单 6. 添加其余的元素
您会注意到对于 用同样的方法添加注释部分或其它标准 XML 类型: 清单 7. 添加一条注释
操作文档也是用类似方式。例如,要引用 清单 8. 访问子元素
该语句实际上将返回第一个元素名为 清单 9. 除去子元素
这次调用将只除去 到目前为止,我们已经涵盖了文档的生成和操作。要将完成的文档输出至控制台,可使用 JDOM 的 清单 10. 将 JDOM 转化为 XML 文本
清单 11. 使用 FileWriter 输出 XML
JDOM 的一个有趣特征是和其它 API 有互操作性。使用 JDOM,不仅能把文档输出到 JDOM 的另一个用处是它能够读取并操作现有的 XML 数据。使用 清单 12. 使用 SAXBuilder 对 XML 文件进行语法分析
您可以用清单 2 到清单 7 中显示的方法来操作通过这个过程建立的文档。 JDOM 的另一个实用应用程序将其与 Apache 的 Xalan 产品结合在一起(请参阅 参考资料)。使用上面的汽车示例,我们将为在线汽车经销商建立一个 Web 页面,显示特定汽车的详细信息。首先,假设我们上面建立的文档显示我们准备呈现给用户的汽车的信息。下一步,我们将把这个 JDOM 在本例中,我们准备使用的 XSL 样式表被称为 清单 13. 用于将汽车记录转换为 HTML 的 XSL 文档
现在我们将把 清单 14. 使用 JDOM 和 Xalan 创建 HTML 文档
在这个示例中,输出是通过 Java servlet 的 在短短几行代码中,JDOM 启用了许多功能,我们已经在 XML 中分析过并有计划地创建了 XML 文档,操作了那些文档,并使用它们产生 XML 驱动的 Web 页面。
正如此文所提的那样,JDOM 项目已经发布了它的 Beta 6 版本。甚至在 beta 状态下,对于许多真实世界中的实现方法来说,JDOM 已经被证明是稳定的一种了。尽管大部分的 API 已经稳固了,但在一些领域中仍在进行一些会对现有的接口造成潜在影响的工作。因此,在这点上,任何在进行的开发项目都不需要因为害怕一个错误多多的实现方法而回避 JDOM,但是要考虑这样一个事实:某些方法结构或某些语义仍有可能在最终发布和被核心 Java API 所采用之前发生改变。(请参阅 名字里包含了些什么?) JDOM 紧接着要做的是致力于稳定 API 并对实现方法的各方面性能问题作出评估。其它方面有所进展,但也造成了对一些应用程序开发人员的阻碍,包括支持 DTD 实体和其它不太常见的构造。沿着这条路再进一步就是对 XPATH(它是一种象 XSLT 这样的应用程序所特有的 XML 路径语言)的核心支持以及更多地集成 XML 数据源。 那么,概况地说,JDOM 是否比现有的 XML API 好呢?如果您梦想 Java,那答案可能是“是的”。JDOM 并非意味着将取代您所喜爱的语法分析或 XML 敏感型数据库,但其设计原则有助于为试图掌握 XML 世界的新老 Java 开发人员提供快速的学习途径。
|
发表评论
-
flex 电子书籍下载
2009-11-25 17:12 2144http://wmcai.blog.163.com/blog/ ... -
基于servlet导出Flex/Flash界面为图形文件的简单方法
2009-07-31 14:12 1655关键字: flex,chart,java 使用fl ... -
Flex 3的本地化应用
2009-07-20 13:30 1558这两天看了一下Flex 3的 ... -
FLEX组件的生命周期
2009-05-22 14:42 1648组件实例化生命周期描述了用组件类创建组件对象时所发生的一系列步 ... -
Flex性能优化之cpu占用率
2009-05-08 10:39 4830先扯几句,team中有一个正在试运行的项目,最近被客户打了 ... -
Understanding garbage collection in Flash Player 9
2009-05-06 19:19 1196原文 Understanding garbage ... -
关于firefox文本折行的问题
2009-04-13 14:57 1593一直有传说这个是firefox的一个bug,属于无法完美解决的 ... -
Adobekit教你如何修改FLASH右键菜单
2009-04-07 10:32 4904有些东西只有用到了才 ... -
CSS IE7 IE6 Firefox多浏览器兼容-著名的星号* Html Hack(招数)[z]
2009-04-01 10:08 2878From: [url]http://www.keephelp. ... -
Flex上载和下载文件
2009-01-20 14:28 5689示例:上载和下载文件 FileIO 示例说明了在 Flash ... -
Flex 2 中的元数据标签
2009-01-19 16:33 906原文作者:Rich Tretola(作者是everything ... -
理解ClassLoader机制
2009-01-18 23:09 1221当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初 ... -
一个简易实用的web权限管理模块的应用与实现
2009-01-18 21:59 1401本文介绍一个简易实用的web权限管理模块的应用与实现。 ... -
JS中Null与Undefined的区别
2009-01-04 17:40 2353在JavaScript中存在这样两种原始类型:Null与Und ... -
Flex3 framework RSL机制介绍
2008-12-25 17:45 2397阻碍Flex应用的一个很大因素就是采用Flex框架的程序体积非 ... -
IE6中用了float:left之后导致margin-left双倍边距的BUG解决方法
2008-12-22 17:17 5033先看css代码: div { float:left; ... -
Adobe Meermeer:跨浏览器网页测试工具
2008-12-09 09:24 1663每年Adobe公司都会有一个最具吸引力的项目,在2007年的会 ... -
网站性能优化
2008-12-03 17:59 971/** *作者:张荣华 *日期:2008-12-01 **/ ... -
openfire 源代码研究一 (运行环境的搭建)
2008-11-30 21:31 3320关于Openfire的介绍在此不多说了,网上有很多关于这个基于 ... -
FLEX3中应用CSS完全详解手册!
2008-11-21 14:13 1820编辑完这个FLEX下的CSS说明后,我基本已经兵临崩溃边缘了。 ...
相关推荐
JDOM,全称为Java Document Object Model,是一种专为Java开发者设计的XML处理库,旨在简化XML编程,提高开发效率。JDOM的出现是为了应对Java XML生态中存在多种API,但缺乏一个直观且易于使用的Java友好型接口的...
"用 JDOM 简化 XML 编程"可能讲述了JDOM,这是另一个Java XML API,提供了更加面向对象的接口来处理XML,使编程更加直观。 最后,"2011版清华IT课程总表.xls"虽然不是直接与XML相关的文件,但它表明XML技术也可以...
其设计理念在于简化XML编程,让开发者能够专注于应用程序的核心逻辑,而不是XML解析的底层细节。通过JDOM,可以方便地实现XML文件的读取、修改和写入,为Java应用程序处理XML数据提供了强大支持。
通过使用JDOM,开发者可以避免直接处理底层的DOM(Document Object Model)或SAX(Simple API for XML)解析器,从而简化XML编程。 在JDOM 1.0中,主要的类和接口包括: 1. **`Element`**: 这是XML文档中元素的...
总的来说,JDOM是Java开发人员处理XML文档的有力工具,它通过其精心设计的API和高效的数据结构,简化了XML的解析、操作和生成过程,使得XML编程在Java环境中变得更加便捷。无论是构建新的XML文档,还是从现有XML源...
在实际开发中,结合具体的业务需求,灵活运用JDOM可以大大简化XML相关的编程任务。如果你想要进一步提升技能,可以尝试研究更多复杂的XML操作,如XPath查询和XSLT转换,这些都是JDOM支持的功能。
JDOM 的设计目标是简化 XML 处理,对比于传统的 SAX 和 DOM 解析器,它具有更友好的编程模型。 在早期版本的 JDOM 中,可能存在编译错误和中文乱码问题。例如,原文提到的作者在使用旧版 JDOM 时遇到这些问题,但...
本文将深入探讨JDOM.jar在XML处理中的核心概念、使用方法以及它如何简化XML操作。 一、JDOM概述 JDOM是专为Java设计的一个DOM(Document Object Model)实现,提供了全面的API来创建、修改和解析XML文档。相比其他...
Java XML编程指南主要涵盖了在Java平台上使用XML技术进行开发的各种概念和实践方法。XML(Extensible Markup Language)是一种用于标记数据的语言,它被广泛应用于数据交换、配置存储以及Web服务等场景。Java作为...
本资料“XML编程技术大全”将全面涵盖XML的基本概念、语法、解析方式以及相关的编程实践。 首先,让我们深入理解XML的基础知识。XML文档由元素构成,元素是XML的最基本单位,用于描述文档结构。每个元素都有开始...
4. **JDOM(Java Document Object Model)**:JDOM是一个纯Java的DOM实现,提供了对XML的更直接的处理,比标准DOM更易于使用,但性能稍逊。 5. **DOM4J**:DOM4J是另一个流行的Java XML库,它提供了丰富的功能,...
本文将深入探讨如何使用JDOM库来生成XML文档,这是一种纯Java的API,设计用于简化XML处理。 JDOM是一个开源项目,它的全称是Java Document Object Model,它为Java程序员提供了一个方便的方式来创建和操作XML文档。...
JDOM 1.1是该库的一个稳定版本,自JDOM 1.0发布以来,它在功能和性能上都进行了改进,旨在简化XML编程,提高开发效率。 XML(eXtensible Markup Language)是一种用于标记数据的标准格式,广泛应用于网络通信、数据...
**JAVA版XML编程详解** XML(Extensible Markup Language),可扩展标记语言,是网络数据交换的重要格式,尤其在Java编程中扮演着不可或缺的角色。本PPT专为清华IT培训中心的课程设计,旨在深入讲解XML的基本概念、...
XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,广泛应用于Web应用程序、数据交换和配置文件等领域。...理解这些解析方式对于XML编程至关重要,希望本文能对初学者有所帮助。
同时,也可以考虑其他解析库,如StAX(Streaming API for XML),它提供了介于DOM和SAX之间的折衷方案,允许以流式的方式处理XML,既减少了内存消耗,又简化了编程模型。 在处理XML文档时,除了解析方式,还需要...
本文将深入探讨Java中的XML编程,主要涉及以下几个核心知识点: 1. **DOM解析**:DOM(Document Object Model)是XML文档的一种树形表示方式,Java中的`javax.xml.parsers.DocumentBuilderFactory`和`...
在Java技术中,XML编程是不可或缺的一部分,它允许开发者在Java应用程序中处理XML文档,实现数据的读取、写入和解析。本部分我们将深入探讨Java与XML的结合使用,以及如何通过Java技术进行XML编程。 1. **Java中的...
本指南将深入探讨Java XML编程的关键知识点,帮助初学者更好地理解和应用这两者之间的融合。 1. **DOM解析**:DOM(文档对象模型)是Java处理XML的一种方式,它将整个XML文档加载到内存中,形成一棵树形结构。通过...