美妙而强大的XMLBeans

来源:互联网 发布:帅哥会喜欢丑女知乎 编辑:程序博客网 时间:2024/05/09 17:51

到处都说XML是未来信息发展的主导!在XML和Java技术的发展前沿,各种各样的技术相互碰撞着,面对XMLDOM、SAX、JAXB和Castor,XMLBeans有一领天下的霸气,其XML游标、XML标志及XQuery和全面支持W3C XML Schema规范等高级特性,从学习和操作的简易性与性能的高效性上讲,让其他解析与数据绑定技术无人能敌。最早听说XMLBeans是在去年BEA公司的Dev2Dev年会上,直到最近才又得以深入接触,唯相见恨晚矣!

本文暂且通过将XMLBean与传统解析与数据绑定技术略作比较,稍后再着力墨笔。

1、XMLDOM:在内存中生成整个XML文档的树,一旦文档相当大时,内存占用将是十分敏感的问题,引起性能的显著降低。而XMLBean通过增量解组并提供xget方法来访问内置模式的数据类型,取得了良好的性能。

2、SAX:与DOM相比,对内存要求不同,但SAX要求开发人员为事件处理程序编写回调方法,而XMLBean则不需要。

3、Castor:XML JDO的具体实现,比起DOM来说从很大程序上简化了访问XML文档的程序实现,可以回顾前几篇关于Castor的文章。但Castor并没有完全技术W3C XML Schema,而XMLBean提供了百分之百的模式支持。

另外:XMLBean的游标、标专和XQuery等独创特性以及即时验证支持,使用其成为用于各种XML和Java数据绑定时的一种非常强大的工具。

附:使用XMLBean的基本步骤(也可参见它的readme文件)。

一、下载XMLBean1.0.4(2.0版本已有beta版)--机子上要装Java JDK1.4.X,这个是必要的。

二、解压下载的zip(jar)文件包,在环境变量中设置XMLBEANS_HOME为解压目录(安装目录),再将/lib下的xbean.jar放到classpath中,将/bin目录添加到path中。

三、在cmd中运行scomp命令,如果出现该命令的帮助信息,则说明可以使用了,它同时提供了在windows和unix平台下命令。

注:一般来说可能需要修改scomp.dat中的java.exe命令为本机jdk里边/bin目录下的java.exe,否则它可能默认使用了jre中的java.exe,从而无法正常运行--偶今天下午被这个小问题折腾了好久!

四、将XML Schema模式文件(*.xsd)解析成类和接口,就可以使用这些接口和类来处理XML文档实例了,哈哈。
   scomp   -out   theJarFileName.jar   theSchemaFileName.xsd

注:不清楚如何编写Schema文件的话,可以通过 XML Spy等工具自动根据数据库中的表结构生成XML Schema文件。

五、下面就是在Java程序中使用生成的theJarFileName.jar中的接口和类来处理XML文档实例了。

一般说来生成的接口都有一个静态方法的工厂类,包括如下方法:
     (1) newInstance()  :创建这种类型的新实例
    (2)  parse()  : 用于解析真正的XML实例文档

 
原创粉丝点击