关于Java对象和XML之间的相互转换
来源:互联网 发布:怎么在淘宝外卖上开店 编辑:程序博客网 时间:2024/04/30 11:44
最近参与的一个软件项目中,由于这个项目被划分为了几个子系统,并且需要和其他公司的系统进行交互,所以各个系统之间中定义了一系列的接口,接口都是基于XML格式的字符串,作为HTTP请求体,进行发送。
在项目中有两种场景需要进行XML和java对象之间转换:
1、在两个系统之间同步数据
使用这种方式进行交互时,发送方生成xml,然后向接收方发送http请求,接收方收到后,解析xml,并返回xml格式的响应。
在处理这种消息接口时,项目使用了JAXB注解的方式来处理xml和java对象之间的转换。
使用JAXB有几个优点:
1)类的复用
javaBean按照xml格式配置好JAXB注解后,发送方生成xml和接收方解析xml都可以使用同一个java对象。
2)简单明了
简化了工作量,开发简单
2、转换消息格式
系统A需要通过系统B与系统C进行通信,这个时候,系统B需要把来自系统A的消息进行转换,转换成系统C能够接受的消息格式。
在这个过程的处理中,我分别使用了FreeMarker模板技术和Digester技术。
首先,系统B处理系统A的消息,我使用了Digester技术,把Xml转换成java对象;然后,使用FreeMarker模板,把java对象转换成xml发送给系统C。
为什么这里不使用JAXB呢?因为这里面不需要把一个xml转换成java对象,然后再把这个java对象转换成相同的xml,如果是这样,就没有必要有系统B了,B系统的角色是一个适配器,可以把系统A的消息转换成任何其他系统的消息格式,并且系统A不必了解其他系统的消息格式。
使用FreeMarker生成xml非常简单,和编写jsp类似,只不过这里是.ftl文件。ftl文件里面写好你的xml,把变化的数据用变量名替换,然后在Servlet或Action里面准备好数据,就可以生成xml了。记住模板+数据=输出(xml);
Digester是使用SAX方式来解析xml,可以以任意路径来生成对象,非常方便。
- 关于Java对象和XML之间的相互转换
- java关于对象(javabean)与xml之间的相互转换
- XStream: Java对象和XML之间相互转换的利器
- java 实体类与xml之间的相互转换,利用XStream在Java对象和XML之间相互转换
- 利用XStream在Java对象和XML之间相互转换
- 利用XStream在Java对象和XML之间相互转换
- 利用XStream在Java对象和XML之间相互转换
- 利用XStream在Java对象和XML之间相互转换
- 利用XStream在Java对象和XML之间相互转换
- 利用XStream在Java对象和XML之间相互转换
- 使用XStream将Java对象和XML之间相互转换
- 利用XStream在Java对象和XML之间相互转换
- 利用XStream在Java对象和XML之间相互转换
- java对象与xml 之间相互转换
- json/java对象/xml之间相互转换
- xml,json,对象 之间的相互转换
- 关于java实体在xml报文和json报文之间的相互转换
- Java对象和XML之间的转换
- mudos 64相关整理
- 输入一个整形数组,数组里有正数也有负数,数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和
- Android View.scrollTo, View.scrollBy控制视图滚动原理
- RationalRose安装步骤
- PCB 布线注意事项
- 关于Java对象和XML之间的相互转换
- Java加密和数字签名消息摘要一
- Java加密和数字签名私钥加密二
- JAVA反射机制学习
- hdu 2254 不错的矩阵 从a到b 在规定时间内有多少条路到达
- Java加密和数字签名公钥加密三
- Java加密和数字签名数字签名四
- 编译安装lnmp及问题解决
- Java加密和数字签名数字证书五