我有一个名为class
的属性的节点。输入XML是:
<Job class="com.test.jobImplementation">
<Priority>1</Priority>
......
</Job>
表示XML的Java类使用Xstream注释注释如下:
@XStreamAlias("Job")
public static class Job {
@XStreamAsAttribute
@XStreamAlias("class")
private String implementationClass;
@XStreamAlias("Priority")
private Integer priority
}
当我尝试反序列化XML时,xstream无法返回与问题无关的错误。 (例如,当我用“类”替换属性名称“class”时,它可以正常工作。)
我知道只要XStream无法从XML中分辨出来,就会使用“class”属性 字段声明确切地使用什么类型,但在这种情况下我不能修改XML输入,我必须处理属性“class”。
使用Xstream解组名为“class”的XML属性的任何解决方法?
答案 0 :(得分:2)
从XStream 1.3.1开始,您可以重新定义这些属性,以允许名称用于您自己的名称。
http://x-stream.github.io/faq.html#Serialization_system_attributes