由于项目需求,接口协议是xml数据格式传输,所以就需要对发送的数据和接收的数据进行xml封装和解析
网上有很多使用 dom,dom4j的方式来封装或者解析xml数据,但是需要自己写处理逻辑,我也上网查了下,发现xmlSerializer 又进行封装了一层,直接把json转为xml,xml转成json,感觉更方便了(其实是我偷懒了),我的项目基本是些一个 类,类中的属性就是需要发送的xml属性名称,然后构造出这个类之后,直接用 gson 转成json,再用xmlSerializer 把json转成xml,最后http发出去就行了,返回结果的时候,直接把结果字符串 用xmlSerializer 转成json,再用 gson 直接把json值转成 结果类的属性,感觉方便了许多
使用的jar
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
</dependency>
贴代码:
xml请求结构:
<?xml version="1.0" encoding="GBK" ?>
<operation_in>
<process_code>uuuuuuuu</process_code>
<app_id>22222222</app_id>
<access_token>abababababba</access_token>
<sign />
<verify_code />
<req_type />
<terminal_id />
<accept_seq />
<req_time>20170213154229</req_time>
<req_seq>123123123</req_seq>
<content>
<eccode>asdadad</eccode>
<cycle>1231</cycle>
</content>
</operation_in>
public interface AbstractRequest {
String getOrderId();
}
public class XmlRequest implements Abstrac