`

JOX 一个简易的XML和Java Bean相互转换的类包

    博客分类:
  • xml
阅读更多
JOX是一个Java类库的集合,使用它能简便的在XML和Java beans之间进行转换。你也可以认为JOX是一种特殊的Java对象序列化,使用XML作为序列化格式。
JOX在使用DTD写XML时,会试图匹配bean的所有field。他能读属性也能读正常的文本,也能处理嵌套的对象。也可以把同样的XML变成不同的类对象。
例如,一个包含<first-name> and <last-name>的XML文件可以被转换成一个有firstName和lastName 2个属性的Person bean,或同样有firstName和lastName 2个属性的Customer bean
JOX使用简便所以有很多限制和不灵活的地方:
  • You must use Java Beans (get/set methods specifically). JOX uses introspection to figure out the property names
  • 必须使用Bean(尤其是get/set方法)。 JOX使用introspection配置属性名
  • JOX在比较XML标签和bean属性时会忽略大写,破折号,下划线,冒号和点。
  •         <first-name>标签会和firstName, first_name和fIrSTn_aME成功匹配。
  • 因为XML数据是树形结构, 所以JOX不能处理有环形引用的Bean结构除非是使用DTD。
  • JOX试着将XML数据转换成bean的属性类型。不能方便的定制转换。
  • 没有DTD, JOX使用bean属性名作为XML标签名。    

在使用JOX时不需要学习任何新的语言或文件格式。JOX的读写器依赖InputStreams, OutputStreams, Readers和Writers,所以你可以使用他们用任何现有的Java IO streams。JOX也可以把一个Bean写到DOM Document对象中,所以可以把这个DOM对象传递给Xalan XSLT处理器。

至于它的使用方法可以参见通过JOX轻松实现JavaBeans与XML的相互转换
分享到:
评论
2 楼 bill.end 2009-03-06  
sdh5724 写道
JOX BUG多多。。。要做不少修改呢。

中文, 编码, 还有XML 版本, 都无法定义, 还有时间要重新定义一个CLASS。


中文, 编码可以定义,时间格式不需要定义一个CLASS
解决方法
1 楼 sdh5724 2009-03-05  
JOX BUG多多。。。要做不少修改呢。

中文, 编码, 还有XML 版本, 都无法定义, 还有时间要重新定义一个CLASS。

相关推荐

    用JOX实现xml和javabean的相互转换

    接着,我们讨论如何使用JOX将这个Java Bean转换为XML。JOX提供了一种简单的方式来序列化Java对象到XML。在使用JOX之前,需要先导入JOX库,并创建一个`JoxMapper`实例。然后,可以使用`write()`方法将Java Bean对象...

    xml与javabean的转换

    总结来说,Jox库提供了一个方便的工具`BeanXmlMapping`,用于XML与JavaBean之间的相互转换,这对于在Java应用中处理结构化数据非常有用。通过熟练掌握其用法,开发者可以更加高效地在对象模型和XML文档之间进行数据...

    JavaBean与xml转换所依赖jar包---Jox

    在开发过程中JavaBean与xml之间相互转换,jox给我们提供了很好的方便,但是jox官网已关闭,所以在这里方便大家下载使用;此资源中包含了jox所有依赖的jar包;解决xml中文格式化问题,JOXBeanOutputStream joxOut = ...

    JOX(解决了日期格式转化和导出XML中文乱码问题)

    但java本身提供的操作xml的方式有些麻烦,而JOX能够自动的把javabean转为xml,不需要定义DTD,不需要关注bean中的各个属性,几行代码就搞定。同时,把xml转换回javabean也很方便。从网上搜了很久也没有一篇完整的...

    jox-1.17b3.jar

    通过JOX来实现从JavaBeans到XML文件的相互转换。 为了灵活的满足Web应用和Web services需求的变化,Java和XML的轻便性和可扩展性使它们成为解决这一问题的理想选择。SAX (Simple API for XML), DOM (document....

Global site tag (gtag.js) - Google Analytics