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. QList内存释放(看它内部存储的是否是Object,另外还有qDeleteAll)

    QList<T> 的释放分两种情况: 1.T的类型为非指针,这时候直接调用clear()方法就可以释放了,看如下测试代码 #include <QtCore/QCoreApplicat ...

  2. const 修饰函数

    At the very first ,I got a problem . Vector Vector::operator+(const Vector &v)const{ return Vect ...

  3. 从while(cin>>a)开始探讨cin

    1. 首先cin>>a返回的是左操作数,也就是返回cin. cin的条件状态中: cin.eof()    判断流是否到达文件的结束符 cin.fail()    判断IO操作是否失败 在 ...

  4. mac开启服务命令

    开启mysql   mysql.server start 开启nginx         sudo  nginx 重启nginx   sudo  nginx   -s   reload 开启apach ...

  5. Android 利用ListView制作带竖线的多彩表格

    1.listview与GridView 其实Android本身是有表格控件(GridView)的,但是GridView的每一列的宽度被限定为一样宽,有时设计表格时,列宽不可能为同一宽度,所有可以用Li ...

  6. SQL Server数据库中还原孤立用户的方法集合

    虽然SQL Server现在搬迁的技术越来越多,自带的方法也越来越高级. 但是我们的SQL Server在搬迁的会出现很多孤立用户,微软没有自动的处理. 因为我们的数据库权限表都不会在应用数据库中,但 ...

  7. .NET中常见对象类型

    .NET中六大内置对象:1.Response    2.Request   3.Session   4.Appliction  5.Server  6.Cookie System.Web.HttpCo ...

  8. subeclipse 安装

    网址:http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA

  9. css3实现动画效果

    一.动画效果的常用属性 实现动画效果需要借助css3的下列属性:transform,transion,animation(具体可以参见教材) 二.动画效果实例 1)文字闪烁的动画效果 /*文字的闪烁效 ...

  10. 解决: Fail to create empty document

    做 Programming Windows with MFC 2nd 的例子 MyWord 的时候. 发现启动的时候总是报错: Fail to create empty document. 搜索了一下 ...