为什么 jaxb 不生成指定类型?它生成通用 List<JAXBElement<?>> 而不是生成指定类型。
案例是我使用 xjc 将我的 xsd 转换为 java Obj,
我的xsd
<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>
生成的java类,
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;
}
}