3

我想创建一个列表不同类型的类,它们都是从同一个超类继承的。
我从一个 xsd 文件开始,我想创建 java 类并在运行时加载具有列表节点的 xml 文件。
我的问题是定义将创建 java 类的 xsd。

我正在使用 JAXB 2.0 eclipse 插件。

最后我想拥有一个List<superClass>
我可以用一个简单的 JAXB 来做吗?

4

1 回答 1

11

如果您还没有 xsd,我不明白为什么要从 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 架构,正如您所描述的那样。

于 2009-04-22T08:20:11.310 回答