JAXB Java to XML:デフォルト時にプリミティブ型のメンバーを印刷しない方法

StackOverflow https://stackoverflow.com/questions/1040146

質問

このクールなサイトを使用する最初の試み-2時間検索した後: だから、与えられたJava Beanがあり(変更せずに注釈を付けることができるだけです)、JAXBを使用してXMLにマップする必要があります。言語のデフォルトまたはユーザー定義のデフォルトが含まれている場合、プリミティブ型は印刷されません。

前述のように、Java Beanを変更することはできないため、プリミティブ型を対応するオブジェクトラッパーに変更します。

どのようにしてそれを最大限に活用しますか?

サンプルBean:

class Foo {  
public String name;  
// -1 is user defined default, to indicate field is not set.  
public long someIdx=-1;  
// ...  
}  

Foo f = new Foo();  
f.name = "Duke";

このインスタンス化について、私が望むのは次の出力です:

<foo><name>Duke</name></foo>
役に立ちましたか?

解決

JAXBのXmlAdaptersを使用できます。 JAXB 2.0(JDK 6.0)以降で利用可能

アダプタを使用して、Beanのみを許可し、完全に異なるクラスに注釈/変更を加えます。これはあなたのケースでは問題になりません。

こちらの返信をご覧ください

JAXBの著者のブログ投稿を見る

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top