JAXB Java to XML:デフォルト時にプリミティブ型のメンバーを印刷しない方法
-
22-07-2019 - |
質問
このクールなサイトを使用する最初の試み-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のみを許可し、完全に異なるクラスに注釈/変更を加えます。これはあなたのケースでは問題になりません。
所属していません StackOverflow