XML作为一种semi-structure的数据模式,想对于数据库和free text,现在已经成为事实上的web数据交换标准了。相对于数据库,XML更容易使用网络进行传输。数据交换的目的是为了使用,Java是我的最爱了。如果能够将xml文件里面的数据直接转化为一个java类并将数据值赋给类里面的变量,从而构造出一个类的实例(object),那么对xml的操作就变成了对这个object的操作,非常方便。同样,如果你有一个object,将它转化成为一个xml文件,将非常利于数据的保存和传输。
最近接触了castor,一个XML的数据绑定的工具,就稍微研究了一下。“数据绑定 提供了一种简单而直接的方法,以在 Java 平台应用程序中使用 XML。有了数据绑定,应用程序可以在很大程度上忽略
XML 文档的实际结构,而直接使用那些文档的数据内容。虽然这种方法不能适合于所有应用程序,但在一般情况下,对于那些将
XML 用于数据交换的应用程序是比较理想的。除了简化编程之外,数据绑定还提供了其它一些好处。
由于数据绑定对许多文档细节进行了抽象,因此对于在内存中处理文档,它通常所需要的内存比文档模型方法(譬如 DOM 或
JDOM)要少。您还会发现,由于不需要遍历文档结构以获取数据,因此用数据绑定方法访问程序内的数据要比用文档模型方法快。最后,在输入时,一些特殊类型的数据(譬如数字和日期)可以被转换成内部表示,而不是保留为文本形式;这使应用程序可以更有效地使用数据值。”【1】
这里主要谈一下castor,其实JXAB才是Java的“官方”版,还有JBind、Quick 和 Zeus。他们的比较请参考【1】。
首先需要了解xml的schema,还有绑定时常用的两个术语:
编组(Marshalling)是在内存中为对象生成 XML 表示的过程。与 Java 对象序列化一样,这种表示需要包含所有依赖的对象:我们的主对象引用的对象、这些对象引用的对象等等。
数据分解(Unmarshalling) 是与编组相反的过程,在内存中根据 XML 表示构建一个对象(而且可能是链接对象的图)。
这两个术语也用在了java的序列化中,个人认为xml的数据绑定似乎是序列化的一个特殊形式。
具体的例子参考【2】,给出了详细的安装和测试,其中还提到了mapping和绑定到数据库。过几天有时间我会翻译一下这个教程并更新这篇文章。
参考:
【1】Java 中的 XML: 数据绑定:http://www.ibm.com/developerworks/cn/xml/x-databdopt/part1/
【2】Data binding with Castor 1~4:http://www.ibm.com/developerworks/xml/library/x-xjavacastor1/
【3】《Java与XML数据绑定》http://oreilly.com.cn/book.php?bn=7-5083-1313-5
【4】http://en.wikipedia.org/wiki/XML_data_binding
分享到:
相关推荐
总之,"castor插件java对象和XML自动绑定mapping文件生成和java对象一键生成工具1.2"是提升XML处理效率的利器,它简化了Java和XML之间的交互,使得开发过程更为流畅。X2MUTIL可能是该工具包的主程序或执行文件,用于...
Castor是一款强大的Java库,它提供了Java对象到XML数据的...总的来说,Castor插件提供了一种高效的方法来处理XML数据,通过自动绑定和对象生成,极大地提升了开发效率。在处理大量XML数据时,它是一个非常实用的工具。
6. 其他XML数据绑定框架:除了JAXB,还有许多其他的框架如Castor、 JiBX 和Apache XMLBeans等,它们提供了不同的特性和性能优化,开发者可以根据项目需求选择合适的框架。 7. 应用场景:XML数据绑定广泛应用于Web...
Castor是Java中一个强大的数据绑定框架,它允许开发者将XML文档与Java对象之间进行映射,从而实现XML数据的序列化和反序列化。在Java应用开发中,处理XML数据时,通常需要将XML文件内容转换为Java对象,或者将Java...
它主要API和数据接口为:JDO-like, SQL, OQL, JDBC, LDAP, XML, DSML。它支持分布式目录事务处理和时间;提供处理XML、Directory、XADirectory的类库,提供从XML到JAVA类的转换机制。 Castor...
XML与Java技术之间的一种高效交互方式是通过数据绑定来实现的,其中Castor是一个流行的开源框架。数据绑定允许开发者将XML文档直接映射到Java对象,反之亦然,从而简化了处理XML数据的过程。这种方式特别适合那些...
总之,Castor是一个强大的工具,它简化了Java和XML之间的数据转换。通过定义映射文件和使用Castor的Marshaller和Unmarshaller,你可以轻松地在两种数据格式之间切换,这对于数据交换、存储或传输非常有用。
Castor是一个开源的数据绑定框架,它允许Java开发者在Java对象和XML之间进行无缝转换。这个强大的工具能够将复杂的Java对象模型映射到XML文档,同时也能够将XML数据解析回等效的Java对象,极大地简化了Java应用中的...
11. **SOAP与Web服务**: 在Web服务中,XML作为数据交换的标准,Java通过JAX-WS(Java API for XML Web Services)与XML绑定,实现了SOAP消息的处理。 12. **RESTful服务**: 对于RESTful服务,虽然JSON更为常见,但...
XML数据绑定技术是一种将...总之,Castor是Java开发者处理XML数据的强大工具,它通过对象-XML绑定简化了数据交换,同时也提供了数据库持久化的能力。了解并掌握Castor的使用,能够提升XML处理的效率和代码的可维护性。
1. **Castor框架**:Castor是一个强大的Java库,它允许开发人员通过简单的XML绑定来实现Java对象和XML之间的转换。它支持JAXB不涵盖的一些功能,比如存储过程调用、XML到Java对象的映射以及持久化机制。 2. **XML ...
Java XML绑定技术(简称XML Binding)是一种能够自动将XML文档映射到Java对象的工具和技术,从而使得开发人员能够更方便地操作XML数据。通过使用这些技术,开发人员可以将复杂的XML文档转换为易于理解和操作的Java...
在Java中,Castor是一个强大的工具,它提供了XML到Java对象以及Java对象到XML的映射功能,实现了数据绑定,简化了XML的处理。 Castor数据绑定允许开发者将XML文档直接映射为Java对象,反之亦然。这极大地提高了...
Castor是一个强大的数据绑定框架,它不仅支持Java对象与XML之间的转换,还允许将Java对象直接绑定到SQL数据库,简化了数据持久化的流程。本文将详细探讨如何使用Castor实现SQL数据绑定。 首先,理解SQL数据绑定的...
Castor 是一个强大的数据绑定框架,它不仅支持Java对象与XML文档之间的转换,还支持将Java对象绑定到SQL数据库。本文主要探讨了如何利用Castor实现SQL数据绑定,这一特性使得开发者可以更方便地处理Java对象与SQL...
- 对象关系映射(ORM):虽然Castor最初主要用于XML绑定,但它也可以作为轻量级的ORM工具,将数据库记录映射到Java对象。 - 支持JAXB和JDOM:Castor可以与Java Architecture for XML Binding (JAXB) 和Java ...
XML Schema(XSD)是一种规范,用于定义XML文档的结构和数据类型。它提供了更强大的验证功能,比传统的DTD(Document Type Definition)更为灵活。 1. **创建XSD文件**:定义一个XSD文件,其中包含了XML文档必须...
xml报文和java对象互相转换 相关jar包和测试代码,可以与castor插件java对象和XML自动绑定maping文件生成和java对象一键生成工具1.2(https://download.csdn.net/download/kemoing/10864595)完美配合使用
- **castor-core.jar**:这是Castor的核心库,包含了用于XML绑定和ORM的主要类和接口。 - **castor-xml.jar**:这个jar包包含XML解析和生成相关的组件,如DOM、SAX和StAX的支持。 - **其他依赖jar**:根据应用...