2013-06-19 46 views
2

在JAXB綁定中,我可以將元素的類型從int更改爲字符串等。JAXB綁定通用轉換器

但我不僅需要數據類型轉換。我想用它們的字符串等效替換整數ID。

這意味着對於每個字段我需要寫入方法。

無論如何,從解析方法獲取字段名稱?相反,在定義javaType

<!-- Resolve ID's --> 
<jaxb:bindings node="/xs:schema/xs:element/xs:complexType/xs:sequence/xs:element[@name='Classification']/xs:complexType/xs:attribute[@name='id']"> 
    <jaxb:property> 
     <jaxb:baseType> 
      <jaxb:javaType name="java.lang.String" parseMethod="com.company.lookup.Resolver.resolve" /> 
     </jaxb:baseType> 
    </jaxb:property> 
</jaxb:bindings> 

回答

2

每個屬性基礎上,你可以覆蓋在外部約束力的文件的全局綁定部分XML模式類型的Java類型。

<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="String" xmlType="xs:int"/> 
     </jxb:globalBindings> 
    </jxb:bindings> 

</jxb:bindings>