java对象和xml互转
来源:互联网 发布:jsp在线考试系统源码 编辑:程序博客网 时间:2024/06/10 07:06
业务:调用别人的接口,将xml格式的数据传递过去,需要将java对象转为xml形式传递;或者别人调用我们的接口,接受xml格式数据,将xml格式数据转为java对象。
使用jar包: <dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.7</version>
</dependency
1、java对象转xml
1.1 先定义java对象的类
package com.qxuninfo.app.response;
import com.thoughtworks.xstream.annotations.XStreamAlias;
@XStreamAlias("PsAgentAddDetail")
public class PsAgentAddDetail {
@XStreamAlias("openId")
private String openId;
@XStreamAlias("identifyNo")
private String identifyNo;
@XStreamAlias("name")
private String name;
@XStreamAlias("phoneNumber")
private String phoneNumber;
@XStreamAlias("comCode")
private String comCode;
@XStreamAlias("score")
private int score;
}/*get和set方法省略*/
1.2 再写controller
@Controller
@RequestMapping("userSubmit")
public class UserInfoSubmitController extends WechatHttpClient {
@RequestMapping(value="/submit",method=RequestMethod.POST)
public void submit(){
PsAgentAddDetail psAgentAddDetail = new PsAgentAddDetail();
psAgentAddDetail.setOpenId("123");
psAgentAddDetail.setName("123");
psAgentAddDetail.setPhoneNumber("123");
psAgentAddDetail.setComCode("123");
psAgentAddDetail.setScore(123);
psAgentAddDetail.setIdentifyNo("123");
//传递过去的xml数据格式
XStream xstream = new XStream(new DomDriver("utf8"));
xstream.processAnnotations(PsAgentAddDetail.class);
String xml = xstream.toXML(psAgentAddDetail);
System.out.println(xml);
}
}
2、xml转java对象
2.1 同样要先定义接受xml的java对象(此处省略)
2.2 接受xml后controller进行转化
@Controller
@RequestMapping("ccic")
public class ProxyRegistServer {
@SuppressWarnings("unused")
@RequestMapping(value="/sendTemplate",method=RequestMethod.POST)
@ResponseBody
public void sendTemplate(){//String xmlreturn
//参数是一个xml 字符串 将参数字符串 转成 对象
String xmlreturn="<PsAgentDetail><openId>2222</openId><agentCode>123</agentCode><auditTime>1998-01-02 12:23:30</auditTime></PsAgentDetail>";
XStream xstream = new XStream(new DomDriver("utf8"));
xstream.processAnnotations(PsAgentDetail.class);
PsAgentDetail psAgentDetail = (PsAgentDetail)xstream.fromXML(xmlreturn);
System.out.println(psAgentDetail.getOpenId()+psAgentDetail.getAgentCode()+psAgentDetail.getAuditTime());
}
}
总结:总的来说还是挺简单的,我这里只是写了最简单的,若是有其他方法还请补充。参考文档;http://www.blogjava.net/bolo/a ... .html
使用jar包: <dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.7</version>
</dependency
1、java对象转xml
1.1 先定义java对象的类
package com.qxuninfo.app.response;
import com.thoughtworks.xstream.annotations.XStreamAlias;
@XStreamAlias("PsAgentAddDetail")
public class PsAgentAddDetail {
@XStreamAlias("openId")
private String openId;
@XStreamAlias("identifyNo")
private String identifyNo;
@XStreamAlias("name")
private String name;
@XStreamAlias("phoneNumber")
private String phoneNumber;
@XStreamAlias("comCode")
private String comCode;
@XStreamAlias("score")
private int score;
}/*get和set方法省略*/
1.2 再写controller
@Controller
@RequestMapping("userSubmit")
public class UserInfoSubmitController extends WechatHttpClient {
@RequestMapping(value="/submit",method=RequestMethod.POST)
public void submit(){
PsAgentAddDetail psAgentAddDetail = new PsAgentAddDetail();
psAgentAddDetail.setOpenId("123");
psAgentAddDetail.setName("123");
psAgentAddDetail.setPhoneNumber("123");
psAgentAddDetail.setComCode("123");
psAgentAddDetail.setScore(123);
psAgentAddDetail.setIdentifyNo("123");
//传递过去的xml数据格式
XStream xstream = new XStream(new DomDriver("utf8"));
xstream.processAnnotations(PsAgentAddDetail.class);
String xml = xstream.toXML(psAgentAddDetail);
System.out.println(xml);
}
}
2、xml转java对象
2.1 同样要先定义接受xml的java对象(此处省略)
2.2 接受xml后controller进行转化
@Controller
@RequestMapping("ccic")
public class ProxyRegistServer {
@SuppressWarnings("unused")
@RequestMapping(value="/sendTemplate",method=RequestMethod.POST)
@ResponseBody
public void sendTemplate(){//String xmlreturn
//参数是一个xml 字符串 将参数字符串 转成 对象
String xmlreturn="<PsAgentDetail><openId>2222</openId><agentCode>123</agentCode><auditTime>1998-01-02 12:23:30</auditTime></PsAgentDetail>";
XStream xstream = new XStream(new DomDriver("utf8"));
xstream.processAnnotations(PsAgentDetail.class);
PsAgentDetail psAgentDetail = (PsAgentDetail)xstream.fromXML(xmlreturn);
System.out.println(psAgentDetail.getOpenId()+psAgentDetail.getAgentCode()+psAgentDetail.getAuditTime());
}
}
总结:总的来说还是挺简单的,我这里只是写了最简单的,若是有其他方法还请补充。参考文档;http://www.blogjava.net/bolo/a ... .html
0 0
- java对象和xml互转
- java对象和xml互转
- java对象和xml互转
- java对象和xml,java对象和json互转
- java xml和对象bean 互转
- Java对象和XML转换
- JAXB实现XML和Java对象绑定
- xml和java对象的解决:Digester
- Java对象和XML之间的转换
- Java对象序列化和XML
- JAXB实现XML和Java对象绑定
- java对象和xml的互相转换
- java 对象转 json 和 xml
- XML 和 java对象相互转换
- java 对象和xml学习体会(一)
- JAVA对象和XML文件绑定
- XML 和 java对象相互转换
- XML 和 java对象相互转换
- Openjudge 仙岛求药 BFS queue
- AndroidStudio导入Eclipse项目 填坑记录
- 第一个Direct程序
- Python 第一天,列表、元组、字典,一定要动手练习不能光看视频
- FetchType与FetchMode的区别
- java对象和xml互转
- unix高级环境编程学习(一) ---------------基础知识
- 欢迎使用CSDN-markdown编辑器
- C++虚函数表
- [Python] 十六进制整数与ASCii编码字符串相互转换
- Qt之QHostAddress 类的使用
- [Javascript学习99---代码片段收集]
- 数学之美番外篇:平凡而又神奇的贝叶斯方法
- Invert Binary Tree