二、建立XML数据绑定的方法
Castor建立数据绑定的方法有两种,一种是生成类,另一种的映射文件。
1、生成类。Castor通过org.xml.castor.xml.SourceGenerator处理类的生成。首先,我们要用XML Schema来建立一套模型,用以表示JAVA对象的数据结构。做个简单的例子,前面Alarm.java类似的数据结构用XML Schema来表示为:
Alarm.xsd
<?xml version="1.0" encoding="GB2312"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://castor.test.raistlin.com">
<xsd:annotation>
<xsd:documentation>Alarm 对象XML Schema文件.</xsd:documentation>
</xsd:annotation>
<xsd:element name="alarm">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="alarmType" type="xsd:string"/>
<xsd:element name="detailContent" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
有了Schema文件,下面要做的是执行命令:
java -classpath lib/castor-0.9.9.1.jar;lib/xerces-J_1.4.0.jar;lib/jakarta-regexp-1.1.jar org.exolab.castor.builder.SourceGenerator -i d:\Alarm.xsd -package com.raistlin.test.castor -dest alarm -types j2
其中常用参数说明如下:
-i 指定XML Schema文件;
-package 指定生成类的包名;
-dest 指定成生类源文件存放路径;
-verbost 显示类生成过程中的额外信息;
-nodesc 不生成类的Descriptor文件;
-types 生成类中的集合类型,j2为java2中java.util.List类型;
-nomarshall 生成类不包括marshal()方法;
执行完毕后,在alarm目录就会按包路径建立目录结构,同时会产生Alarm.java、AlarmDescriptor.java两个JAVA文件。其中Alarm.java包含所有属性的访问和转变方法;AlarmDescriptor.java包含了命名空间信息、验证方法等。有了这两个文件,生成类过程就算完成了,已经准备好正确的实现XML数据的转化的条件。具体生成的源文件可以自己试着生成后看一下,这里不再列出。项目中基础平台的数据字典和查询框架模型就使用了这种方法,有兴趣可以学习一下配置库上的源码。
2、映射文件。如果项目在决定使用Castor前已经实现过了实体类的设计,但是现在又需要进行XML数据绑定。这时,可以使用映射文件的方式来手工指定XML数据与JAVA对象属性之间的映射关系,并以定义的关系为规则,完成XML数据与JAVA对象之间的转化。
对于Alarm.java可以编写映射文件如下:
AlarmMapping.xml
<?xml version="1.0"?>
<mapping>
<class name="com.raistlin.test.castor.Alarm">
<map-to xml="alarm"/>
<field name="alarmType" type="string">
<bind-xml name="alarmType"/>
</field>
<field name="detailContent" type="string">
<bind-xml name="detailContent"/>
</field>
</class>
</mapping>
文件通过class指定xml根元素对应的JAVA类,然后依次指定XML中各元素对应JAVA类中的哪个字段,以及数据类型(Castor也支持自定义类型)。这样就手工完成了XML数据与JAVA对象之间的绑定映射。但是在实践中,如果开始定义的JAVA类的数据类型不被Castor支持,在执行映射时会抛出异常,数据不能被正常转化(比如java.sql.Timestamp、java.util.Calendar等)。所以定义对象时,尽量使用简单常用的数据类型。
分享到:
相关推荐
Castor是一个强大的数据绑定框架,它不仅支持Java对象与XML之间的转换,还允许将Java对象直接绑定到SQL数据库,简化了数据持久化的流程。本文将详细探讨如何使用Castor实现SQL数据绑定。 首先,理解SQL数据绑定的...
Castor 是一个强大的数据绑定框架,它不仅支持Java对象与XML文档之间的转换,还支持将Java对象绑定到SQL数据库。本文主要探讨了如何利用Castor实现SQL数据绑定,这一特性使得开发者可以更方便地处理Java对象与SQL...
XML与Java技术之间的一种高效交互方式是通过数据绑定来实现的,其中Castor是一个流行的开源框架。数据绑定允许开发者将XML文档直接映射到Java对象,反之亦然,从而简化了处理XML数据的过程。这种方式特别适合那些...
标题"castor1-2(java and xml 数据绑定过程所需数据包)"指的是这个压缩包包含的是Castor框架的某个版本,用于处理Java和XML之间的数据交互。在这个版本中,可能包括了Castor的核心库、相关的JAR文件以及必要的文档...
Castor是一个流行的开源Java库,专门用于XML数据绑定。它允许程序员将Java对象直接序列化为XML格式,同时也能够将XML文档解析为Java对象,极大地简化了XML处理。 在Java开发中,Castor提供了强大的功能,包括: 1....
在Java中,Castor是一个强大的工具,它提供了XML到Java对象以及Java对象到XML的映射功能,实现了数据绑定,简化了XML的处理。 Castor数据绑定允许开发者将XML文档直接映射为Java对象,反之亦然。这极大地提高了...
Castor是一种开源的数据绑定框架,它允许在Java对象和XML之间进行双向转换。这个框架的主要目的是简化数据交换,使得开发者可以轻松地将Java对象序列化为XML,或者将XML反序列化为Java对象。这对于处理XML数据,如...
Castor是一款基于Java的数据绑定工具,用于处理XML数据。它允许开发者将XML数据绑定到Java对象,反之亦然,以简化对XML数据的处理。Castor通过映射文件将XML数据结构与Java类定义关联起来。该工具集成了多种XML解析...
在Eclipse这样的集成开发环境中,Castor插件的集成极大地简化了数据绑定的过程,使得开发者能够轻松地在Java类和XML文档之间进行数据交换。下面将详细介绍Castor插件在Eclipse中的集成及其相关知识点。 1. **Castor...
2. 使用JAXB进行数据绑定: - 编写Java类并添加必要的注解。 - 创建`Unmarshaller`实例,用于将XML解析为Java对象。 - 使用`Unmarshaller.unmarshal()`方法读取XML文件并生成Java对象。 - 创建`Marshaller`实例...
- 提供的文档如"实现 Castor 数据绑定,第 1 部分 安装和设置 Castorr.docx"、"实现 Castor 数据绑定,第 2 部分 编组和解组 XML.docx"等,详细阐述了Castor的安装、配置和使用步骤,是学习和实践的宝贵资料。...
Castor是Java开发中的一款强大的数据绑定框架,它允许开发者在Java对象、XML文档、SQL数据库表以及LDAP目录之间进行无缝的数据转换。这个"castor1.3 完整jar包"包含了Castor库的1.3rc1版本,便于开发者直接引入到...
Castor是ExoLab Group下面的一个开放源代码的项目,它主要实现的是O/R映射功能。它主要API和数据接口为:JDO-like, SQL, OQL, JDBC, LDAP, XML, DSML。...它可以在Java对象、XML文本、SQL数据表以及LDAP目录之间绑定。
2. ORM支持:Castor也提供了对象关系映射(ORM)的功能,使Java应用程序可以直接操作数据库中的数据,而无需编写大量的SQL语句。这对于需要处理数据库的项目来说是一个非常实用的特性。 3. XML Schema支持:Castor...
Castor是一个开源的数据绑定框架,它允许Java开发者在Java对象和XML之间进行无缝转换。这个强大的工具能够将复杂的Java对象模型映射到XML文档,同时也能够将XML数据解析回等效的Java对象,极大地简化了Java应用中的...
Castor框架是一个开源Java库,主要用于XML数据绑定和对象关系映射(ORM)。它提供了一种将XML文档转换为Java对象以及将Java对象序列化为XML的机制,从而简化了XML处理并促进了Java应用程序与XML数据之间的交互。下面...
Castor是一款强大的Java库,它提供了Java对象到XML数据的...总的来说,Castor插件提供了一种高效的方法来处理XML数据,通过自动绑定和对象生成,极大地提升了开发效率。在处理大量XML数据时,它是一个非常实用的工具。
1. **Castor框架**:Castor是一个强大的Java库,它允许开发人员通过简单的XML绑定来实现Java对象和XML之间的转换。它支持JAXB不涵盖的一些功能,比如存储过程调用、XML到Java对象的映射以及持久化机制。 2. **XML ...
2. 创建或获取XML数据样本。 3. 使用提供的工具自动生成Java对象和映射文件。 4. 在映射文件中进行必要的调整,以满足特定需求。 5. 在Java代码中使用Castor库,根据映射文件将XML数据反序列化为Java对象,或者将...