JAXB不带注释地解组自定义实体
我们有一个xml文件,需要对其进行解组(转换为Java对象)。现在,Java对象是第三方的,我无法对其进行注释以进行解组。你知道我如何在没有注释的情况下解组吗。请在下面找到我的代码片段JAXB不带注释地解组自定义实体,jaxb,jaxb2,jaxb2-basics,Jaxb,Jaxb2,Jaxb2 Basics,我们有一个xml文件,需要对其进行解组(转换为Java对象)。现在,Java对象是第三方的,我无法对其进行注释以进行解组。你知道我如何在没有注释的情况下解组吗。请在下面找到我的代码片段 JAXBContext context; try { context = JAXBContext.newInstance(Abc.class); Unmarshaller unMarshaller = context.createUnmarshall
JAXBContext context;
try {
context = JAXBContext.newInstance(Abc.class);
Unmarshaller unMarshaller = context.createUnmarshaller();
Abc abc= (Abc) unMarshaller.unmarshal(new FileInputStream("C:\\Documents and Settings\\sandeep.nair\\Desktop\\abc.xml"));
} catch (JAXBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (Exception e){
}
我得到以下例外情况。一个无参数构造函数(我知道我可以通过为适配器添加注释来解决这个问题,但我想知道或看到一个不带注释处理它的示例代码段)
类似地,我得到了另一条消息,即JAXB无法处理接口
com.sun.xml.bind.v2.runtime.IllegalAnnotationsException:5次illegalannotationException计数
java.sql.Timestamp没有无参数默认构造函数。
此问题与以下位置有关:
在java.sql.Timestamp
在public java.sql.Timestamp com.test.Abc.getSomeTimestamp()上
访问com.riteaid.entities.customer.customer
com.test.Def没有无参数默认构造函数。
此问题与以下位置有关:
在com.test.Def
java.sql.Date没有无参数默认构造函数。
此问题与以下位置有关:
在java.sql.Date
...
Ghi是一个接口,JAXB不能处理接口。
此问题与以下位置有关:
...
com.test.Ghi没有无参数默认构造函数。
此问题与以下位置有关:
..注意:我是专家组的负责人和成员 JAXB是异常配置,因此您只需要在希望覆盖默认映射行为的位置添加注释:
XmlAdapter
来处理javax.sql.Date
和javax.sql.Timestamp
类型:
setAdapter
方法允许您在Marshaller
/解组器
上指定一个XmlAdapter
的有状态实例(示例请参见:)。