Java自定义实体xml序列化

本文介绍了如何使用XStream库进行Java对象到XML的序列化,通过引入XStream依赖,创建自定义实体,然后进行对象实例化和序列化操作。通过XStream的alias方法,可以自定义根节点名称,使得生成的XML更符合需求。

前言

在业务需要的情况下,偶尔需要使用到xml的序列化,有部分同学使用的是手动拼写xml,个人感觉不太优雅,还是喜欢序列化工具,本文推荐使用XStream。

实现步骤

  1. 引入依赖
<dependency>
     <groupId>com.thoughtworks.xstream</groupId>
     <artifactId>xstream</artifactId>
     <version>1.4.7</version>
 </dependency>
  1. 创建自定义实体
public class User {
    private String userName;
    private int age;
    private String sex;
}
  1. 创建对象并xml序列化
User user = new User();
user.setUserName("张三");
user.setAge("25");
user.setSex("男");

XStream xstream = new XStream();
xstream.toXML(user);

结果为

<com.example.test.User>
  <userName>张三</userName>
  <age>25</age>
  <sex></sex>
</com.example.test.User>

从结果可以看到序列化生成的根节点是全路径的,有时不太符合我们需求。
针对这一块,我们可以使用XStream的alias来自定义根节点名称,如:

xstream.alias(user.getClass().getSimpleName(), user.getClass());
xstream.toXML(user);

结果为

<User>
  <userName>张三</userName>
  <age>25</age>
  <sex></sex>
</User>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值