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>
    <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

原文地址:https://www.cnblogs.com/houbbBlogs/p/11980274.html

时间: 2024-08-06 19:53:39

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

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

总结学习! xml与java对象转换 --- JDK自带的JAXB(Java Architecture for XML Binding)

JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档.从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数. 注解介绍        1)        @XmlType    

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,将

JAVA对象转换JSON

1. 把java 对象列表转换为json对象数组,并转为字符串 复制代码 代码如下: JSONArray array = JSONArray.fromObject(userlist); String jsonstr = array.toString(); 2.把java对象转换成json对象,并转化为字符串 复制代码 代码如下: JSONObject object = JSONObject.fromObject(invite); String str=object.toString()); 3.

Hibernate(开放源代码的对象关系映射框架)

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久

Hibernate (开放源代码的对象关系映射框架)介绍

Hibernate (开放源代码的对象关系映射框架) 编辑 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hiberna

Hibernate (开放源代码的对象关系映射框架)

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久

Android数据库框架——GreenDao轻量级的对象关系映射框架,永久告别sqlite

Android数据库框架--GreenDao轻量级的对象关系映射框架,永久告别sqlite 前不久,我在写了ORMLite这个框架的博文 Android数据库框架--ORMLite轻量级的对象关系映射(ORM)Java包 但是对于我个人来说,我可能更加倾向于用GreenDao,所以今天也为大家带来了GreenDao的详细博客,希望大家喜欢,之前也详细介绍了ORM的思想,如果不明白可以先看一下前面的博文,这里就不多赘述了,我们新建一个工程 一.相关介绍 官方网站 : http://greendao

xml与java对象转换 -- XStreamAlias

@XStreamAlias使用 一. 特点: 简化的API; 无映射文件; 高性能,低内存占用; 整洁的XML; 不需要修改对象;支持内部私有字段,不需要setter/getter方法 提供序列化接口; 自定义转换类型策略; 二. 使用场景 Transport转换 Persistence 持久化对象 Configuration 配置 Unit Tests 单元测试 Interface服务之间XML消息的交互 案例代码: @XStreamAlias("kfpt_dept") class