透视:进行 XML 数据处理的Java API

 
   | |

导读:从Java1.4开始,大多数的XML处理任务可以在标准版本的类中得以处理,而且Java1.5还添加了很多新工具。如果你正在寻找一个升级你的Java开发工具到1.5版本的理由的话,那么它可以进行XML文档处理的能力就应该是你所需要的全部。

关键词:XML数据处理 Java Sun Apache

 
正在加载数据...

【TechTarget中国原创】从Java1.4开始,大多数的XML处理任务可以在标准版本的类中得以处理,而且Java1.5还添加了很多新工具。如果你正在寻找一个升级你的Java开发工具到1.5版本的理由的话,那么它可以进行XML文档处理的能力就应该是你所需要的全部。

  曾经有一段时期,程序员们在尝试使用Java编程来处理XML文档,他们必须从Sun公司、Apache软件组织或者从其他的来源中到处搜寻一个或更多的库文件,并且把这些库添加到他们的Java程序环境中。无论如何,从Java1.4开始,大多数的XML处理任务可以在标准版本的类中得以处理,而且Java1.5还添加了很多新工具。如果你正在寻找一个升级你的Java开发工具到1.5版本的理由的话,那么它可以进行XML文档处理的能力就应该是你所需要的全部。

  对XML进行处理基本上划分为两种方式:一次性不间断地读入整个文档,以及分单元的连续地读取文档。Java为进行XML 数据处理提供Java API或者提供JAXP API,它包括一个能够对这两种方式进行处理的标准API。JAXP 1.3是最新的版本,于2004年9月最终定下来。它是在Java1.5标准版本中实现的。

  JAXP被设计成为一个独立执行的、便携式的API,也就是说:任何经销商的语法分析工具包,只要它们是符合API规范的,都可以嵌入到一个写API的程序中去。实际上,你很有可能找到符合Java标准版本的语法分析程序以此来满足需要。

  大多数人很容易就掌握了文件对象模型(Document Object Model)或者称为DOM,因为它表示成为一个分层的或者是“树”状的结构,就像是在HTML和XHTML文档中使用的一样。使用这种方式,整个文档在读入内存的时候,他的每一个节点都是可以被检查和监控的。监控DOM的关键Java包是org.w3c.dom,其中包含的“ org.w3c”反映出整体实现过程是遵守万维网协会的XML文件对象模型 (DOM)标准(World-Wide Web Consortium XML DOM standard)的。

  在org.w3c.dom包中主要的接口是节点Node。在一个DOM 表述中,XML文档中的所有元素都是继承Node接口或者子接口的对象。举例说明,有这样一些接口代表元素、属性、正文以及注释。那么它的DOM表述包含一个互相联系的Java对象的集合,并以此来表示整个XML文档的内容。为节点接口服务的JavaDocs有一个表格,当实现这些接口时,它是用来显示对象的属性的。当你使用DOM写Java程序之前应该熟悉这个表格。

  DOM编程模型的优势在于每个元素都可以被有效地定位、监控并且修改。那么编程时使用DOM的缺点是需要处理时间和内存。甚至你仅仅只是读入XML文档的一个简单的元素,那么你也必须把整个文档读入内存中并且进行解析。随着文档越来越大,DOM处理会变得越来越不实用。

  使用连续的语法分析并不像前一种方式那样明显,但是它会提供许多的好处。一个连续的语法分析把整个文档分成单元,并且每次只处理一个元素。由程序员决定需要保留哪些信息以及忽略哪些信息。在JAXP库中的连续的语法分析称为XML的简单API或者SAX (Simple API for XML)。David Megginson开发出在W3C之外的为Java编程使用的SAX。在Java库中SAX编程的关键包是org.xml.sax。

  一个SAX语法分析程序在XML文档中是这样工作的,当它遇到元素时,它便生成代表这个元素的事件。SAX处理程序包含创建类和方法,并且使用这些类和方法来处理事件、提取所需信息。

  Java标准版本提供一些其他的与XML相关API,以此来确保在Java与XML共同使用时可以更加简单快速。所有的这些工具都是建立在JAXP这个基础之上的。那么,其他的文章将会对这些先进工具做出进一步的讨论。

【原创内容,版权所有,谢绝转载。TechTarget中国将保留追究其法律责任的权利。】
 
作者:William Brogden    
 
 
 
 
 

Java Web服务

 
长期以来应用开发最通用的语言之一,Java已经开始获得云计算平台的支撑。但是由于新的和分布式架构平台,像Google App Engine……
 
大约15年的时间了,Java继续增加作为现代中间件的影响力。不论今后是否成功,显然Java已经为计算带来了新的同质性。Java最大的中间层价值……
 
今年当Oracle准备收购Sun以及VMware收购SpringSource之时,Java的世界有些动摇。Sun控制着Java Community Process(JCP),JCP支配着语言……
 
这一整年,我们发布了许多技巧来协助您创建更好的面向服务架构。为此我们认真筛选推荐一下5条技巧给您。希望可以起到查漏补缺的作用。
 
UML从一开始就收到了很多批评。有些观察员认为UML语言有些臃肿,因为许多关系图很少使用,而有些关系图的功能又相互重叠……

热门技术手册排行

 

随着开源技术越来越成熟,一个稍有开发经验的人通过学习就可以用开源的产品和技术构建一套可用的系统。对于从事软件开发的人员,尤其是对Java或动态语言相关领域的人来说,“开源”也许是他们最喜爱的单词。但是,很多时候我们需要的不仅仅是一个可用的系统,而是希望这个系统开发更简易、性能更高和扩展性更好等。这确实是一个令人头痛的问题。本指南很多地方都是点到为止,要深入了解相关信息的读者请借助参考资料、网站等自行挖掘。

 

本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。

 

业务流程管理(business process management,bpm)不是一个新概念,甚至不是一个新名词。它是从相关的业务流程变革领域,如业务流程改进(bpi)、业务流程重组(bpr)、业务流程革新中发展起来的。流程管理技术也是从早期的工作流管理、eai、流程自动化、流程集成、流程建模、流程优化等技术中发展起来的。

 

TOAGF是一个架构框架,简而言之,TOGAF是一种协助发展,验收,运行,使用,和维护架构的工具。它是基于一个迭代(Iterative)的过程模型,支持最佳实践和一套可重用的现有架构资产。

 

云计算的概念越来越流行,Amazon、Google和IBM是第一批将云计算引入公众视线的公司。云计算就是新的Web2.0,一种既有技术上的市场绽放。

 

Mashup是一个非常cool的新的应用程序种类。如果你想真正的了解它们,我们需要回过头来看看你现在的计算机,其实它就是一个非常好的帮助你理解mashup的模型。现在开源的操作系统无疑是非常好的apis的集合或应用程序编程接口,帮助开发者去构建其应用程序。计算机本身也是一个很好的为用户提供接口的例子,键盘和鼠标可以被理解为你通过计算机的接口而使用的不同的应用程序。本技术手册为读者提供了一些相关信息,如果需要深入了解mashup,读者可以借助其他参考资源。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录