JAXB - 具有多种类型的XmlElement

时间:2018-03-22 04:38:47

标签: java jaxb

我正在使用jaxb和xml我正在做jpa。我有这样一个问题。我在目录中保留了一份记录列表。以前,它是来自特定实体的列表,但现在我希望能够执行任何实体。告诉我怎么能这样做? 我想在根元素中指定一个带有实体的类,并以某种方式将其应用于列表

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "catalog")
public class Catalog {

    @XmlAttribute
    private String id;


    @XmlAttribute(name = "class")
    private String className;

    @XmlElement(name = "record")
    private List<Book> recordList = new ArrayList<Book>();

    <--Getters and Setters-->

这是我的XML。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<catalog id="1" type="extendable" class="cataloghandler.entities.Books">
    <record>
        <title>book1</title>
        <description>hello12345</description>
    </record>

    <record>
        <title>book2</title>
        <description>goodbye</description>
    </record>
</catalog>

我想添加另一个实体,例如TVShow,以及其他字段。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<catalog id="6" type="extendable" class="cataloghandler.entities.TVShow">
    <record>
        <channel>fox</channel>
        <time>10:45</time>
    </record>

     <record>
        <channel>abc</channel>
        <time>12:00</time>
    </record>
</catalog> 

我如何更改代码,使List具有类型List<TVShow>

0 个答案:

没有答案