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,一个基 ...
随机推荐
- Python的运行
1.在命令行中运行 2.使用shell(IDLE) 3.新建.py脚本 只要是编辑器都可以 4.脚本在IDLE中运行 5.在windows下的cmd下运行脚本
- 【Android测试】【第三节】ADB——源码浅谈
◆版权声明:本文出自carter_dream的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4651724.html 前言 由于本人精力 ...
- html5学习测试
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 一切从IL开始
IL是什么? IL是Intermediate Language的缩写,是.Net代码转化成机器语言的一个中间语言,因此又把IL语言称之为反汇编语言. IL工具有哪些? 俗话说,工欲善其事必先利其器.了 ...
- MAC下配置ZSH
Mac的Terminal出了bash还配备了zsh模式,相比于bash,zsh的界面更加简单精致,用户名直接省略,用一个小箭头代替,而且箭头的颜色还可以指示命令的对错:路径和文件名的自动补全功能也十分 ...
- grunt构建前端自动化
一.grunt是基于nodejs的,所以首先我们需要安装node 二.全局安装grunt 可以参考 http://www.gruntjs.net/docs/getting-started/ 进行安装. ...
- 错误提示: An App ID with identifier "*****" is not avaliable. Please enter a different string.
百度了很多,但大多的解决办法就是 更改BundleID,的确管用,,但是有的情况下,你需要跟同事合作,公用同一个BundleID, 我是这样处理的:工具栏中打开Window—project删除所有工程 ...
- Meteor 使用疑问总结
使用Meteor有七八个月了,现在总结下Meteor的几点感受 先说说缺点吧: Meteor 项目启动的比较慢,离开了网络根本没法启动,不知道为何启动的时候会从网上下载很多东西,而不是从本地去加载. ...
- 【转】Android M新控件之AppBarLayout,NavigationView,CoordinatorLayout,CollapsingToolbarLayout的使用
Android M新控件之AppBarLayout,NavigationView,CoordinatorLayout,CollapsingToolbarLayout的使用 分类: Android UI ...
- 【转】使用git、git-flow与gitlab工作
转自:http://www.tuicool.com/articles/BZJRj2 使用git.git-flow与gitlab工作 时间 2013-11-02 00:40:39 Axb的自我修养 原 ...