我想在派生类中编组一个 XMLAttribute,但我有一些问题。
我有 2 个派生类和 1 个超类,如下所示:
public class Dog extends Animal {
@XmlAttribute(name = "type")
private String type;
@XmlElement
private String name;
}
public class Cat extends Animal {
@XmlAttribute(name = "type")
private String type;
@XmlElement
private String name;
}
@XmlSeeAlso({Dog.class, Cat.class})
public class Animal {
}
@XmlRootElement(name="some_element_wrapper")
public SomeElementWrapper() {
List<Animal> listAnimal;
@XmlElement(name = "animals")
public List<Animal> getListAnimal() {}
public void setListAnimal(List<Animal> listAnimal) {}
}
假设我有一个包含一些数据的列表。我想从我的类中生成 XML,如下所示:
<some_element_wrapper>
<animals>
<animal type="dog">....</animal>
<animal type="cat">....</animal>
</animals>
</some_element_wrapper>
我的问题是我得到了我想要的,除了类型属性。我尝试了其他不同的解决方案,在超类中移动属性类型,或者覆盖派生类型字段,但没有结果。请问,有什么建议吗?