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();
    }
}
时间: 2024-10-07 05:07:46

XStream xml转java对象的相关文章

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

JAXB是Java Architecture for XML Binding的缩写,用于在Java类与XML之间建立映射,可以帮助开发人员非常方便的將XML和Java对象进行相互转换. 本文以一个简单的样例介绍JAXB的使用.首先我们须要了解一下JAXB经常使用的API. JAXBContext类.是应用的入口.用于管理XML/Java绑定信息. Marshaller接口.将Java对象序列化为XML数据. Unmarshaller接口,将XML数据反序列化为Java对象. @XmlType,将

JAXB完成XML与Java对象的互转

这段时间都老忙了,甚至连周末所有人员都在赶产品的进度,想想连续上12天班,人都有点晕了!到这会儿终于有点时间,所以准备和大家分享一下JAXB,会不会有人觉得有点陌生呢?没事,这里跟大伙儿简单的描述一下: JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档.从另一方面来讲,JA

JAXB:xml与java对象互转

JaxbContext生成xml文件或java类对象转化注解    JAXB提供了一个快速便捷的方式将Java对象与XML进行转换.在JAX-WS(Java的WebService规范之一)中,JDK1.6 自带的版本JAX-WS2.1,其底层支持就是JAXB.  JAXB 可以实现Java对象与XML的相互转换,在JAXB中,将一个Java对象转换为XML的过程称之为Marshal,将XML转换为Java对象的过程称之为UnMarshal.我们可以通过在Java 类中标注注解的方式将一个Java

XStream将XML转换为JAVA对象快速指南

XStream是一套简单实用的JAVA类库,它用于序列化对象和XML对象之间互相转换.由于XStream配置简单,灵活易用,因此在XML对象和JAVA对象序列化市场上有很大的空间.本文并不会对XStream的特性做详细介绍,只是以实例的方式演示XStream是多么的容易上手. 1.XStream官网下载最新版的Jar包,上传到工程路径. 2.假设我们要将如下的XML对象转换为JAVA对象. <?xml version="1.0" encoding="UTF-8"

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

本文记录一下使用xstream这个api的注解特性对Java对象与XML字符串相互转换的一些代码示例.    我们很多人都处理过XML文件,也有很多非常成熟的第三方开源软件.如:jdom.dom4j等.虽然他们的功能非常强大,但在使用上还是有点不那么习惯.对于格式比较固定的XML文档,它的结构没有变化或是很少变化,这时将它转换成我们熟悉的Java对象来操作的话,会使工作变得更容易一些,而xstream正好可以满足这一点.    本文所用xstream的版本为:1.4.7 <dependency>

XStream实现xml和java对象之间的互相转换,同理JSON也可以

首先去官网下载响应JAR包 http://xstream.codehaus.org/index.html 最少需要两个jar包,一个xstream.jar,一个是xmlpull.jar 首先来看下java对象到xml的转换 package xml; class PhoneNumber { private int code; private int number; public int getCode() { return code; } public void setCode(int code)

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

九.持久化 在第八节的示例中,当我们操作一组对象时,我们可以指定Writer.OutputStream来写出序列化后的XML数据,我们还可以指定Reader.InputStream来读取序列化后的XML数据.当我们需要写出和读取文件时都需要指定输入输出流,并且需要明确的调用输入输出方法来实现Java对象的序列化和反序列化,其实我们完全可以让Java对象的序列化和反序列化操作隐性的.自动的完成,这就是我们要学的内容:PersistenceStrategy.XmlArrayList.XmlMap和X

xml-mapping xml 与 java 对象转换映射框架,像 XStream 一样优雅地读写xml

xml xml 是 java 实现的 xml 框架. 希望以最优雅的方式进行 xml 和 java 之间的转换处理,一行代码搞定一切. 特点 对象的和 xml 的互相映射 支持注解 @Alias 指定别名 支持注解 @Ignore 指定忽略的字段 变更日志 CHANGE_LOG 快速开始 准备 jdk 1.7+ maven 3.x+ maven 引入 <dependency> <groupId>com.github.houbb</groupId> <artifac

xml-mapping xml 与 java 对象转换映射框架,像 XStream 一样优雅地读写x

xml xml 是 java 实现的 xml 框架. 希望以最优雅的方式进行 xml 和 java 之间的转换处理,一行代码搞定一切. 特点 对象的和 xml 的互相映射 支持注解 @Alias 指定别名 支持注解 @Ignore 指定忽略的字段 变更日志 CHANGE_LOG 快速开始 准备 jdk 1.7+ maven 3.x+ maven 引入 <dependency> <groupId>com.github.houbb</groupId> <artifac