我想实现类似this。使用@XmlAnyElement进行XML映射
<zoo>
<lion> ... </lion>
<dog> ... </dog>
</zoo>
我在这里有这门课。
public class MainGroup {
private List<Widget> widgets;
@XmlAnyElement
public List<Widget> getWidgets() {
return widgets;
}
public void setWidgets(List<Widget> widgets) {
this.widgets = widgets;
}
}
而且该小组件超得到了子类,如按钮,组合框... 我想实现这样的事情。
<MainGroup>
<Button>...</Button>
<Combo>...</Combo>
</MainGroup>
我有此异常
[com.sun.istack.internal.SAXException2: class com.test.Button nor any of its super
class is known to this context.
我尝试添加@XmlElementRef但它仍然没有工作。
@XmlElementRefs({
@XmlElementRef(name="Button", type=Button.class),
@XmlElementRef(name="Combo", type=Combo.class)
})
我的相关文章的Widget是从日食SWT。而这里的Widget类是一个自创的类,Button.class和Combo.class是Widget类的子类。这使得'@XmlElementRefs({0}} {XmlElementRef(name =“Button”,type = Button.class), @XmlElementRef(name =“Combo”,type = Combo.class) }''possible – humansg 2012-07-31 07:17:01