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对象的更多相关文章

  1. XStream xml转java对象2

    <?xml version="1.0" encoding="UTF-8" ?> <person> <name>yunyun& ...

  2. XStream轻松转换xml和java对象

    首先引入所需的jar: xstream-1.4.9.xpp3_min-1.1.4c.dom4j-1.6.1, 或用maven管理jar包时在pom.xml中添加: <!-- https://mv ...

  3. XML 和 java对象相互转换

    XML 和 java对象相互转换 博客分类: XML 和 JSON   下面使用的是JDK自带的类,没有引用任何第三方jar包. Unmarshaller 类使客户端应用程序能够将 XML 数据转换为 ...

  4. 不规矩的xml与JAVA对象互相转换的小技巧-使用Marshaller

    摘要:将XML文档与JAVA对象互转是很常见的需求,如果XML定义很规整这很好实现.然而在现实中“不规矩”的XML可能更常见,Marshaller便无能为力了吗?下面是一个小技巧,调整一下思维便能重用 ...

  5. Java&Xml教程(十一)JAXB实现XML与Java对象转换

    JAXB是Java Architecture for XML Binding的缩写,用于在Java类与XML之间建立映射,能够帮助开发者很方便的將XML和Java对象进行相互转换. 本文以一个简单的例 ...

  6. Java&amp;Xml教程(十一)JAXB实现XML与Java对象转换

    JAXB是Java Architecture for XML Binding的缩写,用于在Java类与XML之间建立映射,可以帮助开发人员非常方便的將XML和Java对象进行相互转换. 本文以一个简单 ...

  7. 使用XStream注解实现Java对象与XML互相转换的代码示例

    本文记录一下使用xstream这个api的注解特性对Java对象与XML字符串相互转换的一些代码示例.    我们很多人都处理过XML文件,也有很多非常成熟的第三方开源软件.如:jdom.dom4j等 ...

  8. 使用XStream是实现XML与Java对象的转换(6)--持久化

    九.持久化 在第八节的示例中,当我们操作一组对象时,我们可以指定Writer.OutputStream来写出序列化后的XML数据,我们还可以指定Reader.InputStream来读取序列化后的XM ...

  9. 使用XStream是实现XML与Java对象的转换(4)--转换器

    七.转换器(Converter) 我们程序中的POJO是千变万化的,而且需求也是千奇百怪的,所以XStream中的内置的转换器的功能不一定能够满足我们的要求,所以我们就需要自己构建转换器. 1,一个基 ...

随机推荐

  1. HBase的数据迁移(含HDFS的数据迁移)

    1.启动两个HDFS集群 hadoop0,hadoop1,都是伪分布式的集群 2.启动hadoop3的zookeeper与hbase 注意点:需要开启yarn服务,因为distcp需要yarn. 3. ...

  2. 在大数据中,关于native包的编译步骤

    一.问题的由来: 二.解决问题的方法(所有的操作在root下完成): 1.前期需要的环境,下面的已经在伪分布式中配置好,不再重复 配置好jdk 配置好hadoop 2.上传还需要包 apache-ma ...

  3. C#判断文件是复制还是剪切

    private void button1_Click(object sender, EventArgs e){IDataObject vDataObject = Clipboard.GetDataOb ...

  4. php--memcahce安装

    安装php_memcache.dll扩展 1.首先将php_memcache.dll文件放入E:\server\php\ext目录下 (php_memcache.dll下载地址:http://wind ...

  5. android判断pad还是手机

    第一种. Rect frame = new Rect(); getWindow().getDecorView().getWindowVisibleDisplayFrame(frame); if (fr ...

  6. [Stanford 2011] MVC introduction

    以下是课程笔记,仅供以后复习之便. 1.什么是MVC? (1) Model:如飞机激战的游戏中,太空中的飞船,什么机型,每个飞船有多少机枪,多少护甲,这些硬件组成是model. (2)Controll ...

  7. Average Cost (AVCO) Method

    http://accountingexplained.com/financial/inventories/avco-method   Average Cost (AVCO) Method   Aver ...

  8. pip使用国内镜像服务器

    国内在使用pip安装python组件时特别慢,最好是使用国内的镜像获取python组件.测试过几个镜像服务器,douban的速度相对较快和稳定,因此经常用它作为镜像. 具体的修改步骤在pip手册上有, ...

  9. Android各个版本 版本号对应关系表

    Platform Version API Level VERSION_CODE Notes Android 5.0 21 LOLLIPOP Platform Highlights Android 4. ...

  10. Hibernate三种状态的转换

    hibernate的状态 hibernate的各种保存方式的区(save,persist,update,saveOrUpdte,merge,flush,lock)及 对象的三种状态 hibernate ...