2017-01-09 6 views
0

以下の構造を持つXML文書があります。 ReportRawは、ReportConvertedの16進値を表します。これにJAXBバインディングを適用すると、ReportRawとReportConvertedの2つの子オブジェクトを持つReportIdを表すカスタム複合オブジェクトが取得されます。カスタムJAXBバインディング

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

私は生成されたオブジェクトモデルを簡素化し、レポートオブジェクトの整数としてReportIdを生成したいと思いますので、私のアプリケーションはReportedRaw値を使用していません。 jaxbカスタムバインディングでこれを行うにはどうすればいいですか?

おかげ

答えて

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> 
関連する問題