0

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

前述のように、Java 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>
4

1 に答える 1

0

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

アダプタを使用して、Beanをそのままにして、まったく異なるクラスに注釈を付けたり変更したりします。あなたの場合、これは問題ではないはずです。

ここに私の返信を参照してください

JAXBの作成者のブログ投稿を参照してください

于 2009-06-25T05:47:42.357 に答える