xml_与_java_技术_用_castor_进行数据绑定

xml_与_java_技术_用_castor_进行数据绑定

ID:11731362

大小:165.44 KB

页数:15页

时间:2018-07-13

xml_与_java_技术_用_castor_进行数据绑定_第1页
xml_与_java_技术_用_castor_进行数据绑定_第2页
xml_与_java_技术_用_castor_进行数据绑定_第3页
xml_与_java_技术_用_castor_进行数据绑定_第4页
xml_与_java_技术_用_castor_进行数据绑定_第5页
资源描述:

《xml_与_java_技术_用_castor_进行数据绑定》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、对于主要关心文档数据内容的应用程序,JavaXML数据绑定是一种代替XML文档模型的强大机制。本文中,企业Java专家DennisSosnoski介绍数据绑定,并讨论什么使它如此令人瞩目。然后,他向读者展示了如何利用Java数据绑定的开放源代码Castor框架来处理日益复杂的文档。如果您的应用程序更多的把XML作为数据而不是文档,您就会愿意了解这种处理XML和Java技术的简单有效的方法。应用程序中使用XML文档的多数方法都把重点放在XML上:从XML的观点使用文档,按照XML元素、属性和字符数据内容编程。如果应用程序主要关心文档的XML结构,那么这种方法非常好。对于更关心文档中所含数据而非文

2、档本身的许多应用程序而言, 数据绑定提供了一种更简单的使用XML的方法。文档模型与数据绑定文档模型和数据绑定都在内存中建立文档的表示,都需要在内部表示和标准文本XML之间双向转换。两者的区别在于文档模型尽可能保持XML结构,而数据绑定只关心应用程序所使用的文档数据。为了说明这一点,图1给出了一个简单XML文档的数据模型视图。文档成分——在这个例子中只有元素和文本节点——通过反映原始XML文档的结构连接在一起。形成的节点树很容易和原始文档联系,但要解释树中表示的实际数据就不那么容易了。图1.文档的文档模型视图 如果应用程序使用XML文档模型方法,您就需要处理这种类型的树。这种情况下,您将使用节点

3、之间的父子关系在树的上下层之间导航,使用属于同一父节点的子女之间的兄弟关系在树的同一层中导航。您可以非常详尽地处理树结构,当把树序列化为文本时,生成的XML文档将反映您所做的修改(比如插入的注释)。现在来看看与图1截然不同的图2,它表示同一文档的数据绑定视图。在这里,转换过程几乎隐藏了原始XML文档的所有结构,但是因为只有通过两个对象,更容易看清楚真正的数据,也更很容易访问这些数据。图2.文档的数据绑定视图 使用这种数据结构就像是一般的Java编程——甚至根本不需要知道XML!(哦,还是不要走得 太远了——我们这些专家顾问还得活……)您的项目中至少要有人明白,这种数据结构和XML文档之间的映射

4、是如何建立的,但这仍然是向简化迈出的一大步。不 仅仅是编程的简化,数据绑定还带来其他的好处。与文档模型方法相比,因为抽掉了许多文档细节,数据绑定通常需要的内存更少。比如前面两个图中所示的数据结构:文档模型方法使用了10个单独的对象,与此相比数据绑定只使用了两个。要创建的东西少,构造文档的数据绑定表示可能就更快一些。最后,数据绑定与文档模型相比,应用程序可以更快地访问数据,因为您可以控制如何表示和存储数据。我后面还要讲到这一点。既然数据绑定那么好,为何还要使用文档模型呢?以下两种情况需要使用文档模型:·应用程序真正关注文档结构的细节。比方说,如果您在编写一个XML文档编辑器,您就会坚持使用文档模

5、型而非数据绑定。·您处理的文档没有固定的结构。比如实现一种通用的XML文档数据库,数据绑定就不是一种好办法。许多应用程序使用XML传输数据,但并不关心文档表示的细节。这类应用程序非常适合使用数据绑定。如果您的应用程序符合这种模式,请继续读下去。Castor框架目前有几种不同的框架支持JavaXML数据绑定,但还没有标准的接口。这种情况最终会得到改变:JavaCommunityProcess(JCP)的JSR-031正在努力定义这方面的标准(请参阅 参考资料)。现在让我们选择一个框架并学习使用它的接口。本文选择了Castor数据绑定框架。Castor项目采用BSD类型的证书,因此可在任何类型的应

6、用程序(包括完整版权的项目)中使用。Castor实际上仅仅有XML数据绑定,它还支持SQL和LDAP绑定,尽管本文中不讨论这些其他的特性。该项目从2000年初开始发起,目前处于后beta状态(一般可以使用这个版本,但是如果需要问题修正,您可能需要升级到目前的CVS版本)。请参阅 参考资料部分的Castor站点链接,以了解更多的细节并下载该软件。默认绑定CastorXML数据绑定很容易上手,甚至不需要定义XML文档格式。只要您的数据用类JavaBean的对象表示,Castor就能自动生成表示这些数据的文档格式,然后从文档重构原始数据。那么“类JavaBean”是什么意思呢?真正的JavaBean

7、是可视化组件,可以在开发环境中配置以用于GUI布局。一些源于真正JavaBean的惯例已经被Java团体普遍接受,特别是对于数据类。如果一个类符合以下惯例,我就称之为是“类JavaBean”的:·这个类是公共的·定义了公共的默认(没有参数)构造函数·定义了公共的 getX 和 setX 方法访问属性(数据)值关于技术定义已经扯得太远了,当提到这些类JavaBean类时,我将不再重复说明,只是称之为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。