2009-04-22 6 views
3

Я хочу создать список различных типов классов, которые являются наследованием от того же суперкласса.
Я начинаю с файла xsd, и я хочу создать классы java и загружать xml-файл, содержащий узлы списка.
Моя проблема заключается в определении xsd, который создаст классы java.java JAXB и наследование

Я использую плагин eclipse JAXB 2.0.

В конце концов, я хочу иметь один List<superClass>.
Могу ли я сделать это с помощью простого JAXB?

ответ

11

Я не понимаю, почему вы хотите начать с xsd, если у вас его еще нет. Если вы свободны в отношении схемы, она начнется с кода Java и сгенерирует XSD.

Вы можете аннотировать список следующим образом:

@XmlElements({ 
    @XmlElement(name = "child1", type = Child1.class), 
    @XmlElement(name = "child2", type = Child2.class), 
    @XmlElement(name = "child3", type = Child3.class)}) 
private final List<IChild> children = new ArrayList<IChild>(); 

Где IChild является интерфейс для подклассов superClass. Это создаст XSD-схему, как вы описали по своему желанию.

+1

В конечном счете объединить с: @XmlElementWrapper (name = "children") –

 Смежные вопросы

  • Нет связанных вопросов^_^