一、前言
之前在做一个微信公众号的项目,项目中有用到一种技术,将调用接口后返回的xml字符串转换为对象(java bean),个人觉得这种方式还是蛮好用的,所以在这里分享下。
二、引入jar包
我是采用的maven项目,所以直接引入依赖就可以了:
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.9</version>
</dependency>
三、案列分享
注解方式实现对象(java bean)与xml互转
1创建实体类
@Data
@XStreamAlias("returnsms")
public class SmsRequest {
private String returnstatus;
private String message;
private String remainpoint;
private String taskID;
private String successCounts;
}
2 创建一个测试类
public static String send() {
String xml ="<?xml version="1.0" encoding="utf-8" ?><returnsms>
<returnstatus>Success</returnstatus>
<message>ok</message>
<remainpoint>54937</remainpoint>
<taskID>215108</taskID>
<successCounts>1</successCounts></returnsms>";
XStream xStream = new XStream();
xStream.processAnnotations(new Class[]{SmsRequest.class});
SmsRequest smsRequest =(SmsRequest) xStream.fromXML(xml);
String message = "";
if(smsRequest!=null && smsRequest.getMessage().equals("ok")){
message=smsRequest.getMessage();
}
return message;
}