【XStream】xml和java实体的相互转化
1.pom.xml
<!-- xstream xml和Java对象转化 -->
<dependency>
<groupId>xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>xpp3</groupId>
<artifactId>xpp3</artifactId>
<version>1.1.3.4.O</version>
</dependency>
2.实体TestEntity.java
package com.sxd.test.controller; import java.util.List; /**
* 测试类 TestEntity---要转化为xml的类
* @author SXD
*
*/
public class TestEntity { private Integer money;
private String firstStr;
private boolean flag; private List<Team> teamList; public Integer getMoney() {
return money;
} public void setMoney(Integer money) {
this.money = money;
} public String getFirstStr() {
return firstStr;
} public void setFirstStr(String firstStr) {
this.firstStr = firstStr;
} public boolean isFlag() {
return flag;
} public void setFlag(boolean flag) {
this.flag = flag;
} public List<Team> getTeamList() {
return teamList;
} public void setTeamList(List<Team> teamList) {
this.teamList = teamList;
} @Override
public String toString() {
return "TestEntity [money=" + money + ", firstStr=" + firstStr
+ ", flag=" + flag + ", teamList=" + teamList + "]";
} }
3.实体Team.java
package com.sxd.test.controller; /**
* 测试类 -- Team实体
* @author SXD
*
*/
public class Team { private String name;
private int num;
private String describe;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getDescribe() {
return describe;
}
public void setDescribe(String describe) {
this.describe = describe;
} @Override
public String toString() {
return "Team [name=" + name + ", num=" + num + ", describe=" + describe
+ "]";
} }
4.Test.java测试类
package com.sxd.test.controller; import java.util.ArrayList;
import java.util.List; import com.thoughtworks.xstream.XStream; public class Test { @org.junit.Test
public void testName() throws Exception {
TestEntity obj = getEntity();
XStream stream = new XStream();
String xml = stream.toXML(obj);
System.out.println(xml); TestEntity testEntity = (TestEntity) stream.fromXML(xml);
System.out.println("");
System.out.println(testEntity.toString()); } public TestEntity getEntity(){
TestEntity entity = new TestEntity();
entity.setMoney(30000);
entity.setFlag(true);
entity.setFirstStr("艾欧尼亚"); List<Team> list = new ArrayList<Team>();
Team team1 = new Team();
team1.setName("英雄1");
team1.setNum(2);
team1.setDescribe("射手英雄,远程攻击型英雄"); list.add(team1); Team team2 = new Team();
team2.setName("英雄2");
team2.setNum(3);
team2.setDescribe("坦克英雄,肉盾抗击打型英雄"); list.add(team2); entity.setTeamList(list); return entity; } }
测试结果:
<com.sxd.test.controller.TestEntity>
<money>30000</money>
<firstStr>艾欧尼亚</firstStr>
<flag>true</flag>
<teamList>
<com.sxd.test.controller.Team>
<name>英雄1</name>
<num>2</num>
<describe>射手英雄,远程攻击型英雄</describe>
</com.sxd.test.controller.Team>
<com.sxd.test.controller.Team>
<name>英雄2</name>
<num>3</num>
<describe>坦克英雄,肉盾抗击打型英雄</describe>
</com.sxd.test.controller.Team>
</teamList>
</com.sxd.test.controller.TestEntity> TestEntity [money=30000, firstStr=艾欧尼亚, flag=true, teamList=[Team [name=英雄1, num=2, describe=射手英雄,远程攻击型英雄], Team [name=英雄2, num=3, describe=坦克英雄,肉盾抗击打型英雄]]]
【XStream】xml和java实体的相互转化的更多相关文章
- XStream xml转java对象
1:引入jar qn <dependency> <groupId>xstream</groupId> <artifactId>xstream</a ...
- XStream xml转java对象2
<?xml version="1.0" encoding="UTF-8" ?> <person> <name>yunyun& ...
- 根据json生成java实体类
之前一篇讲过了XML转java实体对象,使用的是JAXB技术,今天给大家推荐一个在线转json到java实体对象: http://www.bejson.com/json2javapojo/new/ 转 ...
- XStream轻松转换xml和java对象
首先引入所需的jar: xstream-1.4.9.xpp3_min-1.1.4c.dom4j-1.6.1, 或用maven管理jar包时在pom.xml中添加: <!-- https://mv ...
- 利用JAXB实现java实体类和xml互相转换
1.应用场景 在使用WebService实现数据上传下载,数据查询时,可以利用JAXB实现java实体类和xml互相转换 2.Demo 2.1 student.java 实体类,包含list(set同 ...
- 使用XStream是实现XML与Java对象的转换(3)--注解
六.使用注解(Annotation) 总是使用XStream对象的别名方法和注册转换器,会让人感到非常的乏味,又会产生很多重复性代码,于是我们可以使用注解的方式来配置要序列化的POJO对象. 1,最基 ...
- xml文档的解析并通过工具类实现java实体类的映射:XML工具-XmlUtil
若有疑问,可以联系我本人微信:Y1141100952 声明:本文章为原稿,转载必须说明 本文章地址,否则一旦发现,必追究法律责任 1:本文章显示通过 XML工具-XmlUtil工具实现解析soap报文 ...
- xml-mapping xml 与 java 对象转换映射框架,像 XStream 一样优雅地读写xml
xml xml 是 java 实现的 xml 框架. 希望以最优雅的方式进行 xml 和 java 之间的转换处理,一行代码搞定一切. 特点 对象的和 xml 的互相映射 支持注解 @Alias 指定 ...
- xml与java代码相互装换的工具类
这是一个java操作xml文件的工具类,最大的亮点在于能够通过工具类直接生成xml同样层次结构的java代码,也就是说,只要你定义好了xml的模板,就能一键生成java代码.省下了自己再使用工具类写代 ...
随机推荐
- SpringMVC<一> 基本结构与配置
刚刚踏入SpringMVC的学习,有一定Strust2的使用经验,边看书看博客,边总结,如有不对的地方还希望各位大佬多多指正. Spring 响应过程与结构 (1)用户在客户端发送一个HTTP请求,W ...
- 《R语言实战》读书笔记--第三章 图形初阶(一)
3.1使用图形 可以使用pdf等函数将图形直接保存在文件中.在运用attach和detach函数的使用中经常出现错误,比如命名重复的问题,所以,应该尽量避免使用这两个函数. plot是一般的画图函数, ...
- codeforces ~ 1009 B Minimum Ternary String(超级恶心的思维题
http://codeforces.com/problemset/problem/1009/B B. Minimum Ternary String time limit per test 1 seco ...
- bigdecimal的使用
BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成.如果为零或正数,则标度是小数点后的位数.如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂. ...
- 翻煎饼_简单模拟_C++
一.题目描述(懒人可直接跳过看题目概述) 题目来源: SWUST OJ 题目0254 http://acm.swust.edu.cn/problem/0254/ 二.问题概述 给出一列数,每次可将包 ...
- 算法详解(LCA&RMQ&tarjan)补坑啦!完结撒花(。◕ˇ∀ˇ◕)
首先,众所周知,求LCA共有3种算法(树剖就不说了,太高级,以后再学..). 1.树上倍增(ST表优化) 2.RMQ&时间戳(ST表优化) 3.tarjan(离线算法)不讲..(后面补坑啦!) ...
- VS2013 生成sqlite3动态连接库及sqlite3.dll的调用
一,生成sqlite3动态连接库1,去sqlite官网上下载最近的sqlite源码包,解压后得到四个文件:shell.c,sqlite3.c,sqlite3.h,sqlite3ext.h此处还需要sq ...
- MTK_GPIO口的定制
http://blog.csdn.net/zuoyioo7/article/details/77863291如果需要定制GPIO口呢,需要使用mediatek/dct/DrvGen.exe工具,点击O ...
- Fiddler抓包2-只抓APP的请求【转载】
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/p/6582437.html 前言 fiddler抓手机app的请求,估计大部分都会,但是如何只 ...
- const 作用
转载自:http://www.cnblogs.com/xudong-bupt/p/3509567.html 1.const 修饰成员变量 1 #include<iostream> 2 us ...