在Windows JAXB中将anyType映射到String

时间:2016-10-31 10:38:20

标签: java xsd jaxb maven-jaxb2-plugin

我需要为我收到的第三方模式生成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?

0 个答案:

没有答案