我需要为我收到的第三方模式生成java类(并且很遗憾无法修改),看起来像这样:
...
<xs:element name="ARec">
<xs:complexType>
<xs:sequence>
<xs:element name="ARecTyp" />
<xs:element name="AGrp" />
<xs:element name="AGrpId" />
...
使用maven-jaxb2-plugin,我能够做到这一点,但我的类将所有成员声明为
@XmlElement(name = "ARecTyp", required = true)
protected Object aRecTyp;
(我相信,这是xs:anyType的正确和默认映射)。但实际上这些元素都是文本,我想将它绑定到java.lang.String,而不是java.lang.Object。
我尝试添加
<globalBindings>
<javaType name="java.lang.String" xmlType="xs:anyType"/>
</globalBindings>
但是这不起作用,因为xs:anyType是complexType,而不是simpleType,所以我得到了异常。有没有其他方法可以将没有指定类型的xs:element映射到String而不是Object?