我创建了三个JAXB类:
Home,Person,Animal
。Java类Home有一个变量List<Object> any
,可以包含Person和/或Animal实例。 public class Home {
@XmlAnyElement(lax = true)
protected List<Object> any;
//setter getter also implemented
}
@XmlRootElement(name = "Person") // Edited
public class Person {
protected String name; //setter getter also implemented
}
@XmlRootElement(name = "Animal") // Edited
public class Animal {
protected String name; //setter getter also implemented
}
/* 反序列化后 */
Home home ;
for(Object obj : home .getAny()){
if(obj instanceof Person ){
Person person = (Person )obj;
// .........
}else if(obj instanceof Animal ){
Animal animal = (Animal )obj;
// .........
}
}
我需要实现将 Person 或 Animal
对象保存在 "Home.any" List
变量中,但是 "Home.any" List
的内容是 com.sun.org.apache.xerces.internal.dom.ElementNSImpl
的实例,而不是 Animal 或 Person
。
那么有没有办法实现将以 xml 形式保存在 "Home.any" List
中的 Animal 或 Person
实例。
JAXBContext
的?它是否知道你所有的类? - bdoughan