XStream xml转java对象

本文介绍如何利用XStream和XML解析工具来管理并解析管理员配置信息,包括XML文件的创建、读取及Java对象的映射。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();
    }
}

 

转载于:https://www.cnblogs.com/feiyun126/p/5012829.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值