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
分享到:
相关推荐
它主要API和数据接口为:JDO-like, SQL, OQL, JDBC, LDAP, XML, DSML。它支持分布式目录事务处理和时间;提供处理XML、Directory、XADirectory的类库,提供从XML到JAVA类的转换机制。 Castor...
对于主要关心文档数据内容的应用程序,Java XML数据绑定是一种代替XML文档模型的强大机制。本文中将介绍数据绑定,并讨论什么使它如此令人瞩目。然后,展示如何利用Java数据绑定的开放源代码Castor框架来处理日益...
根据xml报文,一键自动生成castor插件maping文件和java对象,方便接口对接以及测试工具包测试说明文档
根据xml报文,一键自动生成castor插件maping文件和java对象
利用该包内提供的java类,可以进行java读取解析xml文件,并对文件进行操作
XML_与_Java_技术_用_Castor_进行数据绑定.doc
xml报文和java对象互相转换 相关jar包和测试代码,可以与castor插件java对象和XML自动绑定maping文件生成和java对象一键生成工具1.2(https://download.csdn.net/download/kemoing/10864595)完美配合使用
它主要API和数据接口为:JDO-like, SQL, OQL, JDBC, LDAP, XML, DSML。它支持分布式目录事务处理和时间;提供处理XML、Directory、XADirectory的类库,提供从XML到JAVA类的转换机制。Castor...
XML_与_Java_技术_用_Castor_进行数据绑定
Castor的使用,如何将java object转换为xml与将xml转换为java object
本文系原创,如需转载请注明作者...本文详细介绍了Java XML绑定技术,并重点说明了如果使用JAXB来简化XML文档的操作。如果你的Java项目中需要使用XML(作为配置文件或数据库),不妨试一下JAXB,你一定会有惊喜的发现。
完整jar 直接导入使用 Castor 是一种将Java对象和XML自动绑定的开源软件。它可以在Java对象、XML文本、SQL数据表以及LDAP目录之间绑定。
xml数据绑定例子,java,需要用到castor-0.9.5.2.jar和xercesImpl.jar
xml与java的数据绑定 castor框架编程
将Castor支持集成到Eclipse中。 提供增量的Java代码生成,以支持基于XML Schema文件的Castor XML编组以及可视的Castor XML绑定编辑器。
15.3 处理方法的数据绑定 15.3.1 数据绑定流程剖析 15.3.2 数据转换 15.3.3 数据格式化 15.3.4 数据校验 15.4 视图和视图解析器 15.4.1 认识视图 15.4.2 认识视图解析器 15.4.3 JSP和JSTL 15.4.4 模板视图 15.4.5 ...
15.3 处理方法的数据绑定 15.3.1 数据绑定流程剖析 15.3.2 数据转换 15.3.3 数据格式化 15.3.4 数据校验 15.4 视图和视图解析器 15.4.1 认识视图 15.4.2 认识视图解析器 15.4.3 JSP和JSTL 15.4.4 模板视图 15.4.5 ...