假设我有一个customer
类,我会将类序列化为xml
。序列化后我们将得到xml数据,但我需要一些customer
类的属性,根据几个条件按需序列化。有可能吗?
我没有概念如何去做。任何人都可以帮我这个吗?
答案 0 :(得分:2)
您可以添加一个或多个ShouldSerializeXXXXXX()
方法,其中XXXXXX
是您要根据条件序列化的每个属性的名称。
E.g:
public class Customer
{
[DefaultValue(null)]
public string SomeInfo { get; set; }
[DefaultValue(null)]
public string SomeOtherInfo { get; set; }
#region Serialization conditions
// should SomeInfo be serialized?
public bool ShouldSerializeSomeInfo()
{
return SomeInfo != null; // serialize if not null
}
// should SomeOtherInfo be serialized?
public bool ShouldSerializeSomeOtherInfo()
{
return SomeOtherInfo != null; // serialize if not null
}
#endregion
}
答案 1 :(得分:1)
您可以使用XmlAttributeOverrides
并覆盖您的媒体资源的XmlIgnore
属性。
(XmlIgnore
msdn页面中有一个例子)
答案 2 :(得分:1)
看看this post on SO。对你有帮助。