我给了看起来像的XML(当然还有很多属性):
<inventory>
<item kind="GRILL" tag=123 brand="WEBER"/>
<item kind="CAR" tag=124 make="FORD" model="EXPLORER" />
</inventory>
Run Code Online (Sandbox Code Playgroud)
有十几种不同的种类.我正在使用注释来映射到看起来像这样的java类:
@XmlRootElement(name="inventory")
public class Inventory {
@XmlElement(name="item")
public List<Item> itemList = new LinkedList<Item>;
}
abstract public class Item {
@XmlAttribute public int tag;
}
public class Grill extends Item {
@XmlAttribute public string brand;
}
public class Car extends Item {
@XmlAttribute public string make;
@XmlAttribute public string model;
}
Run Code Online (Sandbox Code Playgroud)
如何让JAXB根据"kind"字段创建子类Item对象?