0

Castor を使用して、Castor オブジェクトを XML 文字列に非整列化します。Castor は、null オブジェクトの空のタグを生成しません。アンマーシャリング中にパラメーターとして設定できる API はありますか?

ハンドラーを使用してこれを処理し、convertUponGet メソッドをオーバーライドして空の文字列を返す方法があります。でも、やったほうがいいのかな?

どんな手がかりも役立ちます。

4

1 に答える 1

0

私が見てきたことから、これに対処する方法は、最良のものから最悪のものまで 3 つあります。

  1. http://stackoverflow.com/questions/9176479/how-to-tell-castor-to-marshall-a-null-field-to-an-empty-tagで説明されているように、GeneralizedFieldHandler を使用します。フィールド ハンドラーは他のフィールドで再利用可能であり、クラスの動作を変更しません。

  2. 指定されたフィールドの get メソッドを変更して、null をチェックし、null の場合は空の文字列を返します。このアプローチはクラスの動作を変更するため、コードの他の部分がこのフィールドの null に依存している場合 (これも良い考えではありません)、問題が発生します。

  3. null が検出されたときに空の文字列を返すように Castor を自分で変更します。通常、使用しているツールを変更することは、将来のリリースのためにコード ベースに統合するためにプロジェクトの開発者に提出しない限り、非常に悪い考えです。この問題は 2007 年に提起されたため、これはありそうにないようですhttp://old.nabble.com/Forcing-marshalling-of-null-empty-values--to9080721.html#a9096375

于 2012-02-14T16:54:32.673 に答える