我有用户发送请求的XML文件列表。通过运行时,我才知道JAXB将要创建什么类型的对象。例如,如果用户发送请求,如
<books>
<name>Java</name>
</books>
然后我想创建一个Book对象。如果用户发送请求,如
<Customer>
<id>1</id>
</Customer>
然后我想创建一个Customer对象。但是当我使用JAXB解组XML时,我需要指定像
这样的对象类型Person person= (Person) jaxbUnmarshaller.unmarshal(file);
无论如何要动态创建这些对象吗?
请帮帮我。
答案 0 :(得分:1)
如果没有显式强制转换,下面的代码object
可能会根据XML文件的内容保存Book
或Person
的实例。
JAXBContext jc = JAXBContext.newInstance(Book.class, Person.class);
Unmarshaller unmarshaller = jc.createUnmarshaller();
Object object = unmarshaller.unmarshal(file) ;