2011-12-24 4 views
3

奇妙なことに私はこれに関する既存の質問を見つけることができませんでした。私は単純に、プログラムからの変換を行う方法(うまくいけば1ライナー)を探しています。 <sales_order_number>~に戻り、再度戻ってください。ジャクソン用語でJAXBを使用してcamelcased Javaとの間でアンダースコアのXMLをアンマーシャリングする方法は?

、私はのJAXBに相当を探しています:

mapper.setPropertyNamingStrategy(new PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy()) 

すべてのヘルプは感謝して受け取りました!

答えて

3

注:私はEclipseLink JAXB (MOXy)人となり、JAXB (JSR-222)専門家のメンバーです。

標準のJAXB APIを使用すると、個々のプロパティでJAXB注釈を使用してデフォルト名を上書きする必要があります。

+0

多くのおかげでブレーズ:

@XmlElement(name="sales_order_number") private String salesOrderNumber; 

MOXYを使用すると、デフォルト名のアルゴリズムを無効にすることができます午前拡張メカニズム(XMLNameTransformer)を提供しています!私はここにフォローアップの質問を投稿しました:http://stackoverflow.com/questions/8629025/how-do-i-use-moxy-from-scala –

+0

@Blaise私はこれを私のプロジェクトで動作させるようにしました変圧器は決して作動されない。私はパッケージレベルとクラスレベルの両方の定義を試みました。失敗した後、あなたのブログhttp://blog.bdoughan.com/2011/05/overriding-jaxbs-name-mangling.htmlからその例をコピーしようとしましたが、これも失敗しました。私の環境では、Eclipselink 2.3.2.v20111125-r10461をGlassfish 3.1.2と共にバンドルしています。その環境でうまくいくはずですか? – NBW

+0

@Blaise私は、XMLからXMLへの変換を定義するXMLNameTransformerを参照してください。しかし、どのように私は面白いケーシングでXMLをunmarshallできるように私は反対を定義することができますか? – Vituel

関連する問題