`

XStream 去除生成的XML节点的class="list"

    博客分类:
  • java
阅读更多

使用XStream转换BEAN到XML得时候,由于bean里面有个Collection tasks属性,结果解析出来的节点里面有class="list"属性:<tasks class="list">,很不好看,后来看到一封mail后知道,原来属性Collection tasks初始化成了ArrayList,XStream发现定义的类型和初始化类型不一样就会增加class="list",属性;只要把tasks改成ArrayList tasks就可以了,class="list"不再出现。以下是原文:

 

          > XStream writes a class attribute if the member type does not match the
          > type of the object instance stored in this field. Otherwise it is not
          > necessary to deserialize the objects again. In your case the member seems
          > of type collection, but you use actually an ArrayList? You may set the
          > default implementation for Collection to be an ArrayList.

分享到:
评论
1 楼 huang_yong 2013-09-02  
public class XMLUtil {
    private static final XStream xStream = new XStream();

    // 将对象转为XML字符串
    public static <T> String toXML(T obj) {
        Class<?> cls = obj.getClass();
        xStream.alias(cls.getSimpleName().toLowerCase(), cls);
        [color=red]xStream.aliasSystemAttribute(null, "class"); // 去掉 class 属性[/color]
        return xStream.toXML(obj);
    }

    // 将XML字符串转为对象
    @SuppressWarnings({"unchecked"})
    public static <T> T fromXML(String xml) {
        return (T) xStream.fromXML(xml);
    }
}

相关推荐

    使用XStream 多集合生成xml

    在这个场景中,"使用XStream多集合生成xml"是一个关键的技术点,它涉及到如何将多个集合类的对象转换成XML文档。以下是对这一主题的详细说明。 首先,我们需要了解XStream的基本用法。XStream的核心是`XStream`类,...

    java 利用Xstream注解生成和解析xml

    Xstream通过使用注解提供了高度的灵活性,使得XML的生成和解析更加简单和直观。在这篇文章中,我们将深入探讨如何利用Xstream的注解来处理XML。 首先,要使用Xstream,我们需要在项目中引入其依赖。如果你使用的是...

    Xstream生产xml和解析xml

    同时,对于类中的常量,如果不希望它们在XML中生成额外的节点,可以使用`@XStreamOmitField`注解来排除。 #### 示例代码 以下是一个简单的示例,展示了如何使用XStream进行Java对象到XML的转换以及反向转换: ```...

    XStream:Object与Xml字符串 互相转换

    XStream是一个强大的Java库,它允许开发者方便地将Java对象序列化为XML,同时也能将XML数据反序列化回对应的Java对象。这个过程对于数据存储、网络传输或者XML配置文件的处理非常有用。在处理多个同名子节点以及节点...

    使用XStream是实现XML与Java对象的转换(3)--注解

    XStream是一款强大的库,它简化了XML与Java对象之间的转换过程。本文将深入探讨如何利用XStream的注解功能来实现这一目标。 首先,XStream库的核心理念是通过简单的映射机制将Java对象直接转换为XML,反之亦然。...

    我对xstream对xml的操作的一些记录,仅够参考!

    《XStream:深入解析XML操作》 XStream是一款强大的Java库,它允许开发者将Java对象序列化为XML,反之亦然。这篇文档将深入探讨XStream的核心概念、使用方法以及其在处理XML时的一些关键特性。 一、XStream简介 ...

    XStream组件进行Object与XML互转用法

    - **别名(Aliases)** - 默认情况下,XStream 会使用类的全限定名作为XML节点名。为了简化节点名,你可以使用 `alias()` 方法。 ```java xStream.alias("PERSON", Person.class); xStream.alias("PROFILE", ...

    Xstream操作Xml与Json.doc

    对于集合字段,可以使用 `@XStreamImplicit` 注解,避免生成集合根节点,简化 XML 结构: ```java public class MyClass { @XStreamImplicit List&lt;MyItem&gt; items; // ... } ``` ### 5. 更深入的应用 除了上述...

    XStream使用方法总结附实例代码

    此外,`XStream`会将Java Bean中的常量字段转换为XML节点,这可能不是期望的行为,对于这类字段,我们可以选择不让`XStream`进行转换。 以下是一个简单的示例,展示了`XStream`的使用: ```java import ...

    java对象转化xml.

    XStream是一个简单的Java库,用于把XML文档映射到Java对象上,同时也支持反向操作(即从Java对象生成XML)。XStream的使用非常简单,只需要通过`new XStream()`创建一个实例,然后调用相应的序列化与反序列化方法...

    xml与Java对象的转换详解

    XStream支持使用注解来映射XML节点与Java类及属性的关系。 - `@XStreamAlias`:这个注解用于指定XML中的标签名。例如,`@XStreamAlias("customerInfo")`表示XML中的`&lt;customerInfo&gt;`标签对应`...

    dom4j-jdom封装和解析例子

    dom4j,jsoup,jdom,w3cdom,xstream使用代码工程 package ivyy.taobao.com.dom4j; import ivyy.taobao.com.entity.Address; import ivyy.taobao.com.entity.Location; import ivyy.taobao.com.entity.Point; import ...

Global site tag (gtag.js) - Google Analytics