论坛首页 Java企业应用论坛

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

浏览 3444 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-05   最后修改:2009-03-05
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   最后修改:2009-03-05
JOX BUG多多。。。要做不少修改呢。

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

0 请登录后投票
   发表时间:2009-03-06   最后修改:2009-03-06
sdh5724 写道
JOX BUG多多。。。要做不少修改呢。

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


中文, 编码可以定义,时间格式不需要定义一个CLASS
解决方法
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics