我正在使用 JAXB 将 XML 文件解码为对象树。根对象是非空的,但它的所有成员都是空的,即使 XML 文件中有数据也是如此。我的对象类是使用来自 wsdls 的 Axis2 生成的。我有 ObjectFactory 类、jaxb.index 类、package.info 注释等。
我的问题和这个讨论一样:http://old.nabble.com/AXIS2,-JAXB---Unmarshalling-td26847419.html
首先也是最重要的:有没有办法让它正确填充数据?
如果没有,是否有一个很好的 Axis2 或 JAXB 替代库,它们可以做同样的事情,但可以很好地相互配合?
最佳答案
默认情况下,JAXB 会默默地忽略错误。我看不出这是默认配置的任何原因。尝试添加此代码以在出现问题时抛出异常。
unmarshaller.setEventHandler(
new ValidationEventHandler() {
@Override
public boolean handleEvent(ValidationEvent event ) {
throw new RuntimeException(event.getMessage(),
event.getLinkedException());
}
});
关于xml - JAXB Unmarshal 创建了一个空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2633276/