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

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


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

最佳答案

您可以指定如下所示的绑定文件,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>

09-04 23:02