java XStream如何在XML中不存在带注释的字段时引发异常
我有这样的想法:
Java类
.....
@XStreamAlias("SOME_TAG")
private String someAttribute;
.....
<ROOT>
<ANOTHER_TAG>VALUE</ANOTHER_TAG>
</ROOT>
在我的xml中,我需要有这个“SOME_标记”,如果出于某种原因它丢失了,我需要抛出一个异常
我可以用XStream吗
问候
你可以在下面搜索框中键入要查询的问题!
我有这样的想法:
Java类
.....
@XStreamAlias("SOME_TAG")
private String someAttribute;
.....
<ROOT>
<ANOTHER_TAG>VALUE</ANOTHER_TAG>
</ROOT>
在我的xml中,我需要有这个“SOME_标记”,如果出于某种原因它丢失了,我需要抛出一个异常
我可以用XStream吗
问候
# 1 楼答案
纯粹使用XStream,我认为您有两种选择:
XStream使用与JDK序列化相同的机制,因此您可以简单地在正在进行反序列化的类中实现
Object readResolve()
方法。此方法在对象初始化并由XStream设置所有字段后调用,因此可以使用此方法检查someAttribute
字段是否为null
-如果是,则可以引发异常。(XStream的示例可以在这里找到:http://x-stream.github.io/faq.html#Serialization_initialize_transient另一种选择是为类编写一个自定义Converter,并在那里检查字段是否已填充
# 2 楼答案
我不是xstream的实验用户,但我会这样做: