Castor を使用して、Castor オブジェクトを XML 文字列に非整列化します。Castor は、null オブジェクトの空のタグを生成しません。アンマーシャリング中にパラメーターとして設定できる API はありますか?
ハンドラーを使用してこれを処理し、convertUponGet メソッドをオーバーライドして空の文字列を返す方法があります。でも、やったほうがいいのかな?
どんな手がかりも役立ちます。
私が見てきたことから、これに対処する方法は、最良のものから最悪のものまで 3 つあります。
http://stackoverflow.com/questions/9176479/how-to-tell-castor-to-marshall-a-null-field-to-an-empty-tagで説明されているように、GeneralizedFieldHandler を使用します。フィールド ハンドラーは他のフィールドで再利用可能であり、クラスの動作を変更しません。
指定されたフィールドの get メソッドを変更して、null をチェックし、null の場合は空の文字列を返します。このアプローチはクラスの動作を変更するため、コードの他の部分がこのフィールドの null に依存している場合 (これも良い考えではありません)、問題が発生します。
null が検出されたときに空の文字列を返すように Castor を自分で変更します。通常、使用しているツールを変更することは、将来のリリースのためにコード ベースに統合するためにプロジェクトの開発者に提出しない限り、非常に悪い考えです。この問題は 2007 年に提起されたため、これはありそうにないようですhttp://old.nabble.com/Forcing-marshalling-of-null-empty-values--to9080721.html#a9096375