XMLにシリアル化するオブジェクトがあります。オブジェクト内のプロパティーの1つがnullの場合、ネイティブ・シリアライゼーションはこれを属性として追加するために無視します。これは正常な動作ですか、もしそうなら、それを無効にする方法がありますか?XMLシリアル化とnull値 - C#
例:サニーズ答えはちょうどあなたにフィットしない場合は
public class Test
{
[XmlAttribute]
public string value {set; get; }
[XmlAttribute]
public string key {set; get; }
}
値がnullの場合は、私が
<Root>
<Test key="blah">
</Root>
私はこれが好きで、個々の要素に適用できます。膨大な数のフィールドを持つ与えられたクラス(1000としましょう)に対して、これがすべてのフィールドのデフォルトであることをそれぞれのフィールドに触れることなく指定する方法はありますか? – froggythefrog
ところで、私は1つのクラスに非常に多くのフィールドがあるわけではありません。実際には、WCFサービス用にたくさんのクラスがあり、それらをシリアル化してRESTメッセージを作成したいと考えています。私は、サービスに価値や不足に関わらず、すべてのフィールドを含めるようにします。 – froggythefrog
これはフレームワークの問題です(あなたのサービス==フレームワーク:))。私。すべてのサービスが同じように動作するようにするには、データクラスを変更しないでください。使用するシリアライザを変更します。あなたはWCFにフックすることができ、デフォルトのシリアライザをお手元のものに置き換えます。 –