码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2019-12-04 09:22:42      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:框架   定义   string   private   code   enc   XML   使用   csv   

xml

xml 是 java 实现的 xml 框架。

希望以最优雅的方式进行 xml 和 java 之间的转换处理,一行代码搞定一切。

特点

  • 对象的和 xml 的互相映射

  • 支持注解 @Alias 指定别名

  • 支持注解 @Ignore 指定忽略的字段

变更日志

CHANGE_LOG

快速开始

准备

jdk 1.7+

maven 3.x+

maven 引入

<dependency>
    <groupId>com.github.houbb</groupId>
    <artifactId>xml-mapping</artifactId>
    <version>0.0.3</version>
</dependency>

转换为 xml

User user = defaultUser();
String xml = XmlMappingBs.newInstance().toXml(user);

User 参见类 User.java

转换为 java 对象

XML 为对应的 xml 字符串内容。

User user = XmlMappingBs.newInstance().toBean(XML, User.class);

指定别名

注解说明

@Alias 可以放在指定类和字段上,用于指定我们想要的别称信息。

使用案例

  • 对象定义
@Alias("user")
public class AliasUser {

    @Alias("nickname")
    private String name;

    private String hobby;
}
  • 测试代码
AliasUser user = defaultAliasUser();
String xml = XmlMappingBs.newInstance().toXml(user);

详情参见 XmlMappingBsAliasTest.java

  • 生成效果
<?xml version="1.0" encoding="UTF-8"?>

<user>
    <nickname>hello</nickname>
    <hobby>world</hobby>
</user>

忽略指定字段

说明

有时候我们希望某些字段不参与 xml 的转换,那么可以通过 @Ignore 指定忽略的字段。

使用案例

  • 对象定义
public class IgnoreUser {

    private String name;

    @Ignore
    private String hobby;

}
  • 测试代码

和原来使用完全相同,详情参见 XmlMappingBsIgnoreTest.java

IgnoreUser user = defaultIgnoreUser();
String xml = XmlMappingBs.newInstance().toXml(user);

结果

<?xml version="1.0" encoding="UTF-8"?>

<IgnoreUser>
    <name>hello</name>
</IgnoreUser>

配置框架

json

property

csv

xml

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

标签:框架   定义   string   private   code   enc   XML   使用   csv   

原文地址:https://blog.51cto.com/9250070/2455844

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!