使用绑定将所有类型转换为jaxb中的字符串

时间:2013-06-19 05:11:16

标签: java xml jaxb xsd xjc

我正在使用xjc(jaxb)从xml架构(xsd)生成java代码。我正在使用绑定添加自定义。我想生成java代码,其中所有变量都是String类型,而不管它们在xsd中的类型,如xs:decimal,xs:date..etc
我在编写绑定时尝试使用<xjc:javaType>,但我需要提供一个适配器来实现它。我不想提供任何适配器,因为生成的包不会有任何其他java代码。这就是我想做的事情

<xjc:javaType name="java.lang.String" xmlType="xs:decimal"/>

请注意,我无法更改架构。

1 个答案:

答案 0 :(得分:2)

您可以指定如下所示的绑定文件,XJC工具将自动生成必要的适配器。

<jxb:bindings 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
    version="2.1">

   <jxb:bindings>
       <jxb:globalBindings>
           <jxb:javaType name="java.lang.String" xmlType="xs:int"/>
           <jxb:javaType name="java.lang.String" xmlType="xs:decimal"/>
       </jxb:globalBindings>
   </jxb:bindings>

</jxb:bindings>