【问题标题】:JAXB bindings generic converterJAXB 绑定通用转换器
【发布时间】:2013-06-16 03:59:19
【问题描述】:

在 JAXB 绑定中,我可以将元素的类型从 int 更改为 string 等等。

但我不仅想要数据类型转换。我想用它们等效的字符串替换整数 ID。

这意味着对于每个字段我都需要写方法。

是否还是要从 parse 方法中获取字段名?

<!-- 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>

【问题讨论】:

    标签: binding xml-parsing jaxb


    【解决方案1】:

    您可以在外部绑定文档的全局绑定部分覆盖 XML 模式类型的 Java 类型,而不是基于每个属性定义 javaType

    <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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-21
      • 2012-03-01
      • 2011-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      相关资源
      最近更新 更多