Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么JAXB映射到JAXBElement而不是指定的类型?_Java_Xml_Jaxb - Fatal编程技术网

Java 为什么JAXB映射到JAXBElement而不是指定的类型?

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=

为什么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="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;
}
}