XML序列化和空值-C#

XML序列化和空值-C#,c#,asp.net,C#,Asp.net,我有一个序列化为XML的对象。如果对象中的某个属性为null,则本机序列化将忽略该属性以将其添加为属性。这是正常的行为吗?如果是的话,有什么方法可以替代它吗 例: 当值为null时,我得到 <Root> <Test key="blah"> </Root> 如果Sunny的答案不适合您,您可以通过实现IXmlSerializable接口来定制序列化过程对于某些背景,请参阅下面的ibm文章 另外,请查看答案,这样问题可能会对您的努力有所帮助。我喜欢这一点,

我有一个序列化为XML的对象。如果对象中的某个属性为null,则本机序列化将忽略该属性以将其添加为属性。这是正常的行为吗?如果是的话,有什么方法可以替代它吗

例:

当值为null时,我得到

<Root>
  <Test key="blah">
</Root>


如果Sunny的答案不适合您,您可以通过实现IXmlSerializable接口来定制序列化过程

对于某些背景,请参阅下面的ibm文章


另外,请查看答案,这样问题可能会对您的努力有所帮助。

我喜欢这一点,它可以应用于单个元素。有没有办法指定对于一个具有大量字段(比如1000个)的给定类,这是所有字段的默认值,而不必接触每个字段?顺便说一句,我并不是在一个类中有这么多字段。实际上,我有很多类用于WCF服务,并且希望通过序列化它们来创建REST消息。我希望服务包括所有字段,而不管它们的值或缺少值。这是一个框架问题(您的服务==框架:)。也就是说,如果希望所有服务都以相同的方式运行,请不要更改数据类。更改使用的序列化程序。您可以挂接到WCF,并用您的自定义序列化程序替换默认序列化程序。这听起来像是我需要做的。
<Root>
  <Test key="blah">
</Root>