我有一个用jaxb注释注释的类,如果缺少属性,我想配置unmarshaller以使解组失败。
让我们说,我有以下类,如果xml中缺少EventId属性,我想在解组失败,而是将其设置为null。
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "event")
public class Event {
@XmlAttribute(name = "EventId", required="true")
private Integer eventId;
...
}
解组代码:
JAXBContext jaxbContext = JAXBContextFactory.createContext(new Class[]{Events.class}, null);
StringReader xml = new StringReader(data);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
unmarshaller.setEventHandler(new DefaultValidationEventHandler());
unmarshaller.unmarshal(xml);
我错过了什么吗?如果缺少" required"我应该以某种方式配置unmarshaller失败。属性?
谢谢!
答案 0 :(得分:0)