xstream 别名的用法<转>

时间:2022-06-20 18:51:23

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