Java JAXB中的元素选择
我创建的JAXB类可能与以下任一XML元素相关:Java JAXB中的元素选择,java,xml,jaxb,Java,Xml,Jaxb,我创建的JAXB类可能与以下任一XML元素相关: <Request> <Details/> <Option1/> </Request> <Request> <Details/> <Option2/> </Request> 换句话说,Option1和Option2元素在请求类中都是可选的,但是必须有一个元素才能使XML有效,就像异或一样。我是否可以在请求类中使用JAXB注释来指定
<Request>
<Details/>
<Option1/>
</Request>
<Request>
<Details/>
<Option2/>
</Request>
换句话说,Option1和Option2元素在请求类中都是可选的,但是必须有一个元素才能使XML有效,就像异或一样。我是否可以在请求类中使用JAXB注释来指定这一点?或任何其他解决方法?您可以在请求
类中实现,并以编程方式执行验证:
private void afterUnmarshal(Unmarshaller unmarshaller, Object parent) {
if ((option1 == null) == (option2 == null)) {
throw new ValidationException();
}
}
至少有一个不是独占的
或:)我的道歉-只有一个必须存在。没问题,我相应地编辑了我的答案。:)