1.xstream的alias使用方法:

1.1 作用:将序列化中的类全量名称,用别名替换。

1.2  使用方法:xstream.alias("blog", Blog.class);

1.3  示例:

要序列化的类:

package test.xstream.test;

public class Author {

private String name;
    public Author(String name) {
            this.name = name;
    }
    public String getName() {
            return name;
    }
}

不使用别名alias时序列化出来的xml:

<test.xstream.test.Author>
  <name>name</name>
</test.xstream.test.Author>

使用别名alias时序列化出来的xml:

<Author>
  <name>name</name>
</Author>

2.xstream的aliasField

2.1 作用:使用别名替代属性名
     2.2 使用方法:xstream.aliasField("author", Author.class, "name");

2.3 示例:

不使用别名aliasField时序列化出来的xml:

<Author>
  <name>name</name>
</Author>

使用别名aliasField时序列化出来的xml:

<Author>
  <author>name</author>
</Author>

3. xstream的useAttributeFor

3.1 作用:将某一个类的属性,作为xml头信息的属性,而不是子节点

3.2 使用方法:xstream.useAttributeFor(Author.class, "name");

3.3  示例: 不使用别名useAttributeFor时序列化出来的xml:

<Author> <author>name</author> </Author>

使用别名useAttributeFor时序列化出来的xml:

<Author name="name"/>

ps: 使用方法

public static void main(String[] args) {
        XStream xstream = new XStream();
        xstream.alias("Author", Author.class);
//        xstream.aliasField("author", Author.class, "name");
        xstream.useAttributeFor(Author.class, "name");
        Author author =new Author("name");
        String xmlString =xstream.toXML(author);
        System.out.println(xmlString);
    }

几个相关网址:http://xstream.codehaus.org/alias-tutorial.html

http://blog.csdn.net/faye0412/article/details/6602144

原文链接:http://blog.csdn.net/subuser/article/details/21548227

xstream 别名的用法<转>的更多相关文章

  1. XStream别名;元素转属性;去除集合属性(剥皮);忽略不需要元素

    city package xstream; public class City { private String name; private String description; public St ...

  2. XStream处理XML用法

    参考:https://www.yiibai.com/xstream/xstream_json.html 1.简介: XStream是一个简单的基于Java库,Java对象序列化到XML,反之亦然(即: ...

  3. Mybatis 中 columnPrefix别名的用法

    1.映射对应的属性,区分他们分别属于哪些类.(sql书写的时候为什么要将前缀加上(别名),是因为便于它去寻找哪个类的前缀是ANNEX_) 2.例:  如下所示当一个collection 定义了一个co ...

  4. shell脚本,alias别名命令用法。

    [root@localhost ~]# alias alias cp='cp -i' alias mv='mv -i' alias rm='rm -i' [root@localhost ~]# [ro ...

  5. mysql 5.7 增删改查及别名的用法

    1.启动和停止服务 一)启动和停止 #启动服务: $sudo service mysql start #停止服务: $sudo service mysql stop 二)创建和选择数据库 [创建数据库 ...

  6. JAVA bean与XML互转的利器---XStream

    最近在项目中遇到了JAVA bean 和XML互转的需求, 本来准备循规蹈矩使用dom4j忽然想起来之前曾接触过的XStream, 一番研究豁然开朗,利器啊利器, 下来就XStream的一些用法与大家 ...

  7. C# Using 用法

    using 语句允许程序员指定使用资源的对象应当何时释放资源.为 using 语句提供的对象必须实现 IDisposable 接口.此接口提供了 Dispose 方法,该方法将释放此对象的资源. 一起 ...

  8. C++ template的一些高级用法(元编码,可变参数,仿函数,using使用方法,. C++ 智能指针)

    1 .  通用函数可变参数模板 对于有些时候,我们无法确切的知道,函数的参数个数时,而又不想过多的使用所谓的函数重载,那么就可以效仿下面的例子: #include<iostream> #i ...

  9. XML 处理利器 : XStream

    XStream 概述      XStream 是一套简洁易用的开发类库,用于将Java对象序列化为XML或者将XML反序列化为JAVA对象,是JAVA对象和XML之间一个双向转换器. 举例     ...

随机推荐

  1. qt中如果用qDebug输出彩色调试信息

    Linux:  在终端输出彩色信息有点类似于html的语法,即在要输出的文字前加上转义字符. 指令格式如下\033[*m 这里的*就是转义字符,例如我们要输出一段绿色的文字 qDebug(" ...

  2. [转]allocWithZone 和 单例模式

    一.问题起源 一切起源于Apple官方文档里面关于单例(Singleton)的示范代码:Creating a Singleton Instance. 主要的争议集中在下面这一段: ? 1 2 3 4 ...

  3. java 字节流与字符流的区别 (转)

    字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操 ...

  4. Ⅴ.AngularJS的点点滴滴-- 资源和过滤

    资源ngResource(依赖ngResource模块) <html> <script src="http://ajax.googleapis.com/ajax/libs/ ...

  5. apache目录及文件讲解

    apache目录下bin,conf,htdocs,logs,modules讲解    bin:        ab  压力测试工具        apachectl  启动命令        apxs ...

  6. MITMF使用import error

    安装问题: 1.ubuntu 14.04.安装使用capstone时候,提示出现import error:ERROR: fail to load the dynamic library. 解决方法:将 ...

  7. OC加强-day01

    #pragma mark - 00 知识回顾 1.@property + 类型 + 属性名 :执行的结果 1>在类的.m里面生成一个_属性名的属性 2>生成 _属性名 这个属性的set/g ...

  8. iOS支付总结

    内容大纲: 一.常见的支付方案简介 二.第三方支付SDK 三.苹果官方支付方案 四.Web支付方案 正文: 一.常见的支付方案简介 在微信支付中 微信支付的网址是: https://pay.weixi ...

  9. linux下安装svn(基于编码的方式)

    svn是什么,相信能看到这里的同学应该不会有这个问题了,费话不多说,开始: 1.创建目录 mkdir /home/svn/ 2.获取安装svn所需源文件(svn的官方网址是http://subvers ...

  10. _BLOCK_TYPE_IS_VALID 问题解析及处理

    直接原因: 释放内存时,内存已经被修改或释放. 产生可能: 1.内存越界操作,踩了待释放指针头信息. 2.重复释放指针. 处理: 采用排除法,逐步屏蔽掉一些代码,当屏蔽某些代码时,不抛此异常,说明问题 ...