Java 为什么JAXB映射到JAXBElement而不是指定的类型?
为什么jaxb不生成指定的类型?它生成了generic List>getAddOrGetOrDel(){ if(addOrGetOrDel==null){Java 为什么JAXB映射到JAXBElement而不是指定的类型?,java,xml,jaxb,Java,Xml,Jaxb,为什么jaxb不生成指定的类型?它生成了generic List>getAddOrGetOrDel(){ if(addOrGetOrDel==null){ addOrGetOrDel=new ArrayListI尝试了您的xsd示例,但无法使用java jdk版本1.7.0_04的xjc复制您的输出。请说明您的java版本、完整的xsd以及如何调用xjc。我的测试生成了指定的类型(例如AddInputType.class等)。您找到解决方案了吗? <xs:complexType name=
addOrGetOrDel=new ArrayListI尝试了您的xsd示例,但无法使用java jdk版本1.7.0_04的xjc复制您的输出。请说明您的java版本、完整的xsd以及如何调用xjc。我的测试生成了指定的类型(例如AddInputType.class等)。您找到解决方案了吗?
<xs:complexType name="InputType">
<xs:choice maxOccurs="unbounded">
<xs:element name="add" type="AddInputType"/>
<xs:element name="get" type="GetInputType"/>
<xs:element name="del" type="DeleteInputType"/>
</xs:choice>
</xs:complexType>
public class InputType {
@XmlElementRefs({
@XmlElementRef(name = "add", type = JAXBElement.class),
@XmlElementRef(name = "get", type = JAXBElement.class),
@XmlElementRef(name = "del", type = JAXBElement.class)
})
protected List<JAXBElement<?>> addOrGetOrDel;
public List<JAXBElement<?>> getAddOrGetOrDel() {
if (addOrGetOrDel == null) {
addOrGetOrDel = new ArrayList<JAXBElement<?>>();
}
return this.addOrGetOrDel;
}
}