分享
 
 
 

Java-XML数据绑定结合了两个世界的最大优势

王朝java/jsp·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

XML已经成为了绝大多数项目不可或缺的部分。XML的确提供了各种益处,但是大多数使用Java编程的人都清楚:在Java里使用XML是件多么头疼的事。和基本的Java文档对象模型(JDOM)或者SAX API相比,JDOM API确实让情况变得简单了一点,但是要设计出另一种选择方案,使其能和XML协同工作仍是相当必要的。开发者需要一个框架,这个框架将焦点放在内容的表示而不是XML文档的结构上。

Java-XML数据绑定就像是医生开出的药方。这种方法说起来大概就是将XML映射到Java专用的表示上,反向亦然。XML绑定适用的应用程序是那些只关心内容而不关心如何送出这些内容的应用程序。所以如果你的应用程序并不真正地关心“用户名”是否会被转作独立的节点或者作为“用户”结点的属性,那么Java-XML数据绑定能够极大地简化你的开发和维护工作。

Java-XML数据绑定的优势包括:

开发者不需要Java-XML API的预备知识,如DOM或者SAX。对于我来说,这无疑是个巨大的优势。就算是对这些API有些经验的人,要弄清楚根节点的第三个子节点的第二项属性也不是件容易的事。在管理一个项目小组的时候,让Java程序员同Java对象打交道要比让项目组成员使用DOM或者SAX检索数据要容易得多,也要保险得多。

XML数据绑定利用XML强大的中间件存储配置信息。你可以在启动时就读取这些信息并在应用程序中使用;而你所要做的只是为你的配置文件定义一个映射,再把数据加入到易于使用的Java对象中。

你可以从某个XML结构中检索(反调度)数据,然后将它插回(调度)到另一个不同的XML结构中。例如,你可以从XML中检索一些值,使用基本的Java程序计算它们,再把整理好了的结果送回到另一个不同的XML结构中。使用XSL转化,如果有必要的话,你就可以以HTML的形式表示结果。

基本概念

Java-XML数据绑定涉及以下这些基本概念:

调度(Marshalling)是在内存中为Java对象生成XML表示的过程。这是通过提供明确的映射指令或者使用API缺省的调度规则而实现的。

反调度(Unmarshalling)描述的是将XML表示转换到Java对象的过程,而这个对象是你可以使用Java代码进行操作的。

映射(Mapping)可以生成你所需要的确切的XML结构或者Java对象,尽管Java-XML绑定API确实遵循了一些缺省规则,将XML表示转化到相应的Java对象。

当前支持Java-XML数据绑定的API有:

用于XML绑定的Java构架(JAXB):这个用于XML数据绑定的框架是最近SUN发布的几个新的XML API之一。这个API才刚刚起步:1.0版的JAXB的最终草案要到2002年第4季度才能定下来。

Castor:这个已经使用了好几年的成熟的API似乎是当前最好的选择。Castor所能实现的功能远远不止Java-XML数据绑定。

Quick:这是个快速、简单的绑定替换方案,它需要对原始设计者所定义的绑定计划有所了解。

Zeus:当前的版本是Beta 3.5,Zeus绑定的实现是基于你定义的限制条件。

在以上众多选择中,JAXB可能将是你最容易向你上级推销的API,因为它来自SUN。但是要记住的是,JAXB才刚刚起步,所以很容易起变化。

Castor可以被列为已经被广泛使用的成熟API。而且Castor同时擅长于将Java映射到SQL表或者LDAP目录。总而言之,这个API似乎是众多选择中最好的,至少目前是如此。我将在我下一篇文章里谈到Castor的Java-XML数据绑定的特别之处。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有