自定义JAXB绑定

时间:2017-01-09 21:42:00

标签: xml xml-parsing jaxb

我有一个XML文档,其结构如下。 ReportRaw表示ReportConverted的十六进制值。当我将JAXB绑定应用于此时,我将获得一个表示ReportId的自定义复杂对象,其中包含ReportRaw和ReportConverted的两个子对象。

<Report>
    <ReportId>
        <ReportRaw>FA3</ReportRaw>
        <ReportConverted>4003</ReportConverted>
    </ReportId>
</Report>

我的应用程序没有使用ReportedRaw值,所以我想简化生成的对象模型,并在Report Object上生成一个整数的ReportId。我怎么能用jaxb自定义绑定来做这个?

谢谢

1 个答案:

答案 0 :(得分:0)

如果您在编组或解组时不想要元素ReportRaw,则可以使用@XmlTransient进行注释。

要使用jaxb绑定执行此操作,您需要使用jaxb2-annotate-plugin。以下是用法。

 <jaxb:bindings node=".//xs:element[@name='ReportRaw']" >              
       <annox:annotate target="field">@javax.xml.bind.annotation.XmlTransient</annox:annotate>
   </jaxb:bindings>