XStream xml转java对象
1:引入jar qn
<dependency>
<groupId>xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>xpp3</groupId>
<artifactId>xpp3_min</artifactId>
<version>1.1.3.4.O</version>
</dependency>
2:XML (admin.xml)
<ConfigUser>
<type>ADMIN</type>
<users>
<AdminUser>
<name>zhaoyb</name>
<pwd>abc123</pwd>
<ip>
<string>127.0.0.1</string>
<string>203.119.80.128</string>
</ip>
</AdminUser>
<AdminUser>
<name>liangqunxing</name>
<pwd>abc123</pwd>
<ip>
<string>127.0.0.1</string>
<string>202.173.100.126</string>
</ip>
</AdminUser>
<AdminUser>
<name>liuyu</name>
<pwd>abc123</pwd>
<ip>
<string>127.0.0.1</string>
<string>203.119.80.108</string>
</ip>
</AdminUser>
</users>
</ConfigUser>
3:java 代码
InputStream xmlInputStream = new ClassPathResource("admin.xml").getInputStream();
XStream xStream = new XStream();
xStream.alias("AdminUser", AdminUser.class);
xStream.alias("ConfigUser", ConfigUsers.class);
ConfigUsers users = (ConfigUsers) xStream.fromXML(xmlInputStream);
List<AdminUser> adminUsers = users.getUsers();
public class ConfigUsers {
private String type;
private List<AdminUser> users; public String getType() {
return type;
} public void setType(String type) {
this.type = type;
} public List<AdminUser> getUsers() {
return users;
} public void setUsers(List<AdminUser> users) {
this.users = users;
} @Override
public String toString() {
return new ToStringBuilder(this)
.append("type", type)
.append("users", users)
.toString();
}
}
public class AdminUser {
private String name;
private String pwd;
private List<String> ip; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public List<String> getIp() {
return ip;
} public void setIp(List<String> ip) {
this.ip = ip;
} public String getPwd() {
return pwd;
} public void setPwd(String pwd) {
this.pwd = pwd;
} @Override
public String toString() {
return new ToStringBuilder(this).append("name", name)
.append("pwd", pwd).append("ip", ip).toString();
}
}
XStream xml转java对象的更多相关文章
- XStream xml转java对象2
<?xml version="1.0" encoding="UTF-8" ?> <person> <name>yunyun& ...
- XStream轻松转换xml和java对象
首先引入所需的jar: xstream-1.4.9.xpp3_min-1.1.4c.dom4j-1.6.1, 或用maven管理jar包时在pom.xml中添加: <!-- https://mv ...
- XML 和 java对象相互转换
XML 和 java对象相互转换 博客分类: XML 和 JSON 下面使用的是JDK自带的类,没有引用任何第三方jar包. Unmarshaller 类使客户端应用程序能够将 XML 数据转换为 ...
- 不规矩的xml与JAVA对象互相转换的小技巧-使用Marshaller
摘要:将XML文档与JAVA对象互转是很常见的需求,如果XML定义很规整这很好实现.然而在现实中“不规矩”的XML可能更常见,Marshaller便无能为力了吗?下面是一个小技巧,调整一下思维便能重用 ...
- Java&Xml教程(十一)JAXB实现XML与Java对象转换
JAXB是Java Architecture for XML Binding的缩写,用于在Java类与XML之间建立映射,能够帮助开发者很方便的將XML和Java对象进行相互转换. 本文以一个简单的例 ...
- Java&Xml教程(十一)JAXB实现XML与Java对象转换
JAXB是Java Architecture for XML Binding的缩写,用于在Java类与XML之间建立映射,可以帮助开发人员非常方便的將XML和Java对象进行相互转换. 本文以一个简单 ...
- 使用XStream注解实现Java对象与XML互相转换的代码示例
本文记录一下使用xstream这个api的注解特性对Java对象与XML字符串相互转换的一些代码示例. 我们很多人都处理过XML文件,也有很多非常成熟的第三方开源软件.如:jdom.dom4j等 ...
- 使用XStream是实现XML与Java对象的转换(6)--持久化
九.持久化 在第八节的示例中,当我们操作一组对象时,我们可以指定Writer.OutputStream来写出序列化后的XML数据,我们还可以指定Reader.InputStream来读取序列化后的XM ...
- 使用XStream是实现XML与Java对象的转换(4)--转换器
七.转换器(Converter) 我们程序中的POJO是千变万化的,而且需求也是千奇百怪的,所以XStream中的内置的转换器的功能不一定能够满足我们的要求,所以我们就需要自己构建转换器. 1,一个基 ...
随机推荐
- Fedora 11中用MinGW编译Windows的Qt4程序(在Linux系统下编译Windows的程序)
Ubuntu下可以直接安装: sudo apt-get install mingw32 mingw32-binutils mingw32-runtime 安装后编译程序可以: i586-mingw32 ...
- HTML5新标签和属性
1.<time>标签(支持IE9以上和其他浏览器) 今年是<time datetime="2015-12-12">2015年</time> &l ...
- Redis Sentinel高可用配置及C#访问
本文环境如下: 操作系统:ubuntu-14.04.1-desktop-amd64 Redis:2.8.19 如果使用虚拟机则将每台的网络设置为桥接,否则他们之间能连上,局域网连不上. 系统设计如图: ...
- 长宽广州地区DNS
网络又抽风了,发现时DNS的问题. 打客服电话问到了长宽广州的DNS: 首选:211.162.62.1备用:211.162.62.61
- Tea---hdu5881(规律)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5881 题意: 现在有一壶水,体积在[L, R]范围内,现有两个空杯子,现想要把这壶水倒入这两个杯子中去 ...
- block 反向传值回调
/** * block 反向传值回调 */ //在第二个控制器中 // (1)声明block,在基类中已写好 // (2)写好传值方法 //(1) typedef void (^Return ...
- iOS NSURLSession 下载
周五的时候,有个新的需求,要下载脚本,帮助玩家自动打怪,应该也是挂机的意思吧! 组长让我设计界面,让汤老师设计数据等.我觉得数据的挑战性更大一点,然后就接过来了. 自己还没有形成互联网思维,所以弄了一 ...
- select下拉框美化
其实用下列CSS就可以解决,原理是将浏览器默认的下拉框样式清除,然后应用上自己的,再附一张向右对齐小箭头的图片即可. select { /*Chrome和Firefox里面的边框是不一样的,所以复 ...
- (转)linux运行tomcat时JRE_HOME显示不对怎么办?
PS:以前也没出现这些问题,重装了一下系统,感觉什么都让我撞上了.Using CATALINA_BASE: /usr/share/tomcat7Using CATALINA_HOME: /us ...
- winston日志管理3
Further Reading 延伸阅读 Events and Callbacks in Winston winston的事件和回调 Each instance of winston.Logger i ...