我们在使用xstream生成xml,经常会遇到对象中定义的类型与实际类型不一致,比如定义的是Object类型,但是实际初始化的对象是其他类型,转换出来的xml文件都会加上class="实际类型"属性,如:<Body class="xxx">,class并不是我们想要的。
下面有两种方式可以解决:
XStream xstream = new XStream();xstream.aliasSystemAttribute(null, "class");
或者
XStream xstream = new XStream();Class cls = bean.getClass();xstream.alias(cls.getSimpleName().toLowerCase(), cls);xstream.aliasSystemAttribute(null, "class"); // 去掉 class 属性