我想實現類似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