有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Jaxb解组不会因缺少属性而失败

我有一个用jaxb注释的类,我想将解组器配置为在缺少属性时使解组失败

比方说,我有一个下面的类,如果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);

我错过什么了吗?如果缺少“必需”属性,我是否应该以某种方式将解组器配置为失败

谢谢


共 (1) 个答案