如何从wcf中的响应中删除null DataMember属性

时间:2010-01-22 16:24:49

标签: .net serialization

我使用wcf webservice将xml输出返回给浏览器,如果DataContract的属性为null,它仍然会在响应中显示为

<Id i:nil="true" />

有没有办法让它根本没有回复?

2 个答案:

答案 0 :(得分:20)

自己想出来,我需要将以下属性添加到我的数据成员

[DataMember(EmitDefaultValue = false)]

答案 1 :(得分:0)

在您的属性所在的类中有一个构造函数。在构造函数中将其初始化为null。如果DataContract的属性为null,则它不会出现在xml输出中。 如果您想要在数据存在时将其显示在输出中,只需在您公开数据的类中再次实例化它。