你好我有空抽象类的编组问题,例如我有:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "envelop ", propOrder = {animal})
class Envelop {
@XmlElement(required = true, nillable = true)
public Animal animal;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Animal")
@XmlSeeAlso({
Cat.class,
Dog.class
})
public abstract class Animal {
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Dog", propOrder = {
...
})
public class Dog extend Animal {...}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Cat", propOrder = {
...
})
public class Cat extend Animal {...}
所以问题是,如果不在动画中设置任何东西,它会被编组到xml中,如
<animal xsi:nil="true"/>
但我需要xsi:type。
<animal xsi:type="Cat" xsi:nil="true"/>
那么我怎么能说jaxb设置一些默认的xsi:type if if是否为空? 如果字段不为null,则可以正常工作 对于具有普通类的空字段,它正确地唤醒了,但是如何处理抽象??