我有这样的事情:
Java Class
.....
@XStreamAlias("SOME_TAG")
private String someAttribute;
.....
<ROOT>
<ANOTHER_TAG>VALUE</ANOTHER_TAG>
</ROOT>
在我的xml中我需要这个“SOME_TAG”,如果由于某种原因它丢失了我需要抛出异常。
我能用XStream吗?
此致
答案 0 :(得分:1)
我不是xstream的实验用户,但我会这样做:
答案 1 :(得分:1)
纯粹使用XStream我认为你有两个选择:
XStream使用与JDK序列化相同的机制,因此您只需在您的类中实现反序列化的Object readResolve()
方法。在初始化对象并且所有字段都由XStream设置之后调用此方法,因此您可以使用此方法检查someAttribute
字段是否为null
- 如果是,则可以抛出异常。 (可以在此处找到XStream的示例:http://x-stream.github.io/faq.html#Serialization_initialize_transient
另一种方法是为您的班级编写自定义Converter,并检查该字段是否已填写。