论坛首页 Java企业应用论坛

XML与JavaBean转换方案选型?

浏览 6800 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-11-21  
SOA
我现在如下XML与JavaBean转换互相需求:
1.报文数量较多。
2.要求生成的报文节点顺序不能颠倒(即自己能够控制节点顺序),节点如为空不能写成<node/>的形式;
3.生成的xml文件节点名有“-”字符,而javabean却不允许这样的变量,所以可能需要可以配置映射关系;
4.单个报文可能比较大,可能有1-10000条的记录不等。
5.在生成xml报文时要区分大小写,即能够控制大小写。

选来选去,不知如何是好了.希望大家给点意见?
   发表时间:2006-11-21  
大量的XML数据处理还是通过SAX事件流的方式最高效可靠.
自己适当包装一下这些事件, 抽象成自己的处理逻辑, 是个最好的方式, 但是需要先熟练掌握SAX.

"节点如为空不能写成<node/>的形式;" 这个可能有标准的transformer选项, 或者各家提供商也可能用自己的选项.

大小写应该XML默认就是区分的吧, 或者SAXParser/DOMBuilder/SAXTransformer上有配置选项.
0 请登录后投票
   发表时间:2006-11-22  
可以考虑用jaxb,不过需要定义相应的xsd文件
0 请登录后投票
   发表时间:2006-11-22  
castor是个不错的选择
0 请登录后投票
   发表时间:2006-11-23  
手头正在进行一个消息(手机短信和电子邮件)传输系统项目的开发,当中的网络传输是用XML的。在当初考虑如何实现JAVABEAN和XML之间的互转,方法一是用DOM,方法二是用现成的工具,最终采用了Castor。
做法如下:
1.定义XML Schema
2.根据Schema生成相应的Java类
3.定义Castor的Mapping文件
4.用Castor的Marshaller/Unmarshaller配合Mapping文件实现JAVABEAN和XML的转换。

第3步中的Mapping文件非常重要,它控制Java类内的属性和方法如何与XML节点或元素对应,控制XML字母的大小写等。

使用Castor,应该能满足楼主的几个要求。

0 请登录后投票
论坛首页 Java企业应用版

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