メンバ変数の一部がstring
で、値がnull
であるオブジェクトをシリアル化する必要があります。 私は、次のコードを使用します。私はそれを望んでいませんがXmlTextWriterとnull文字列
var writer = new XmlTextWriter(stream, Encoding.UTF8);
writer.Formatting = Formatting.Indented;
var s = new XmlSerializer(typeof(model.GetType()));
s.Serialize(writer, model);
を値null
を持つ文字列は、(当然の行動を目的としている)は、XMLファイルには表示されません。 XmlTextWriter
クラスをオーバーライドすることにより、null
文字列をXmlファイルに表示させるにはどうすればよいですか?
EDIT:シリアル化する必要のあるオブジェクトモデルを変更できないため、Xml属性はオプションではありません。
あなたの答えに感謝します。私はオブジェクトモデルを変更することができないので、私はこのソリューションを使用することはできません。私はこの制約を含むように私の質問を編集しました。 – thumbmunkeys
@ x0r:あなたのオブジェクトコレクションでサイクリングし、String.Emptyで空のアイテムを代用するのは解決策ではありません。 – Marco
それは解決策になります!それはオブジェクトの集まりではありませんが、オブジェクトのツリーです。そのため、ツリーをトラバースするためにリフレクションを使用し、すべてのメンバー変数を調べ、これらの 'null'文字列を設定する必要があります。 – thumbmunkeys