Java 是否可以为集合的成员定义自定义JAXB编组适配器?
我有一门主课:Java 是否可以为集合的成员定义自定义JAXB编组适配器?,java,jaxb,jaxb2,Java,Jaxb,Jaxb2,我有一门主课: @XmlRootElement @XmlAccessorType(XmlAccessType.NONE) public class Foo { @XmlAnyElement public Collection<Object> items; } 在对Foo进行编组的过程中,我希望在ItemAdapter中调用marshall(Item): public class ItemAdapter extends XmlAdapter<String, Item&g
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class Foo {
@XmlAnyElement
public Collection<Object> items;
}
在对Foo
进行编组的过程中,我希望在ItemAdapter中调用marshall(Item)
:
public class ItemAdapter extends XmlAdapter<String, Item> {
@Override
public String marshal(final Item item) {
return "hello";
}
}
我做错了什么?请记住,
Foo.items
可能包含其他类型的元素,而不仅仅是Item
将@XmlRootElement添加到Item类:Dadd@XmlRootElement添加到Item类:D
public class ItemAdapter extends XmlAdapter<String, Item> {
@Override
public String marshal(final Item item) {
return "hello";
}
}
[com.sun.istack.SAXException2: unable to marshal type "Item" as
an element because it is missing an @XmlRootElement annotation]