欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

xstream 别名的用法(转)

程序员文章站 2022-03-26 21:31:10
...

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