Obj与Str之间的相互转换
来源:互联网 发布:mac chrome书签导出 编辑:程序博客网 时间:2024/06/05 22:31
1.准备实体类Persion,
例子如下:
@XStreamAlias("Persion")
public class Persion {
@XStreamAsAttribute
private String version = "1.0";
@XStreamAsAttribute
private String encode = "utf-8";
@XStreamAlias("fristName")
private String fristName;
@XStreamAlias("lastName")
private String lastName;
@XStreamAlias("telPhone")
private String telPhone;
}
提供get和set方法;
Xstream标签请参考:http://www.cnblogs.com/XL-Liang/archive/2013/03/22/2974987.html
2.编写工具类:
public class XMLUtil {
/**Obj TO XML*/
public static String toXMl(Object obj){
/**设置编码方式*/
XStream xStream = new XStream(new DomDriver("utf-8"));
xStream.processAnnotations(obj.getClass());
return xStream.toXML(obj);
}
/**String to Obj*/
public static<T> T toBean(String xmlStr,Class<T> cls){
XStream xStream = new XStream(new DomDriver());
xStream.processAnnotations(cls);
T obj = (T)xStream.fromXML(xmlStr);
return obj;
}
}
3.测试:
方法obj2String :
@Test
public void testObjToString(){
Persion per = new Persion("张三","李四","13960470908");
String xMl = XMLUtil.toXMl(per);
log.info(xMl);
}
测试结果:
<Persion version="1.0" encode="utf-8">
<fristName>张三</fristName>
<lastName>李四</lastName>
<telPhone>13960470908</telPhone>
</Persion>
方法String 2 Obj:
@Test
public void strToObj(){
String str = "<Persion version='1.0' encode='utf-8'>"
+ "<fristName>张三</fristName>"
+ "<lastName>李四</lastName>"
+ "<telPhone>13960470908</telPhone>"
+ "</Persion>";
Persion bean = XMLUtil.toBean(str, Persion.class);
System.out.println(JSONObject.toJSONString(bean));
}
测试结果:{"fristName":"张三","lastName":"李四","telPhone":"13960470908"}
- Obj与Str之间的相互转换
- python3 list、tuple(元组)、str之间的相互转换
- python str与bytes之间的转换
- python str与bytes之间的转换
- python str与bytes之间的转换
- javamap与obj之间转换
- IStream与TStream之间的相互转换
- 全角与半角之间的相互转换
- List与数组之间的相互转换
- char *与string之间的相互转换
- 字符串与数值之间的相互转换
- char * 与 QString 之间的相互转换
- 数字与百分比之间的相互转换
- time_t 与字符串之间的相互转换
- jason与array之间的相互转换
- 数字与char之间的相互转换
- 图片与byte[]之间的相互转换
- time_t 与字符串之间的相互转换
- 产品初期准备
- 抽象代数学习笔记(10) 群的同构
- 在java程序中读取配置文件中的值
- Codeforces-845C:Two TVs(思维)
- 阿里云服务器挂载数据盘
- Obj与Str之间的相互转换
- 【算法题】触宝2018编程题二
- 命令行查看端口号被哪个进程占用
- 关于二叉树遍历的一些思考
- android手机内存使用情况分析
- 群赛6总结----2017.9.8
- java文件读写操作指定编码格式
- @RequestParam @RequestBody @PathVariable
- ros机制中mutex lock failed导致节点异常退出问题解决