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的相互转换
分享到:
- 2009-03-05 16:57
- 浏览 2018
- 评论(2)
- 论坛回复 / 浏览 (2 / 3467)
- 查看更多
相关推荐
接着,我们讨论如何使用JOX将这个Java Bean转换为XML。JOX提供了一种简单的方式来序列化Java对象到XML。在使用JOX之前,需要先导入JOX库,并创建一个`JoxMapper`实例。然后,可以使用`write()`方法将Java Bean对象...
总结来说,Jox库提供了一个方便的工具`BeanXmlMapping`,用于XML与JavaBean之间的相互转换,这对于在Java应用中处理结构化数据非常有用。通过熟练掌握其用法,开发者可以更加高效地在对象模型和XML文档之间进行数据...
在开发过程中JavaBean与xml之间相互转换,jox给我们提供了很好的方便,但是jox官网已关闭,所以在这里方便大家下载使用;此资源中包含了jox所有依赖的jar包;解决xml中文格式化问题,JOXBeanOutputStream joxOut = ...
但java本身提供的操作xml的方式有些麻烦,而JOX能够自动的把javabean转为xml,不需要定义DTD,不需要关注bean中的各个属性,几行代码就搞定。同时,把xml转换回javabean也很方便。从网上搜了很久也没有一篇完整的...
通过JOX来实现从JavaBeans到XML文件的相互转换。 为了灵活的满足Web应用和Web services需求的变化,Java和XML的轻便性和可扩展性使它们成为解决这一问题的理想选择。SAX (Simple API for XML), DOM (document....