假设我有一个customer
类,我会将该类序列化为xml
。序列化后,我们将得到xml数据,但我需要一些customer
类的属性根据需要序列化几个条件。可能吗?XML序列化相关问题和c#
我没有概念如何做到这一点。谁能帮我这个?
假设我有一个customer
类,我会将该类序列化为xml
。序列化后,我们将得到xml数据,但我需要一些customer
类的属性根据需要序列化几个条件。可能吗?XML序列化相关问题和c#
我没有概念如何做到这一点。谁能帮我这个?
您可以添加一个或多个ShouldSerializeXXXXXX()
方法,其中XXXXXX
是你要根据条件连载每个属性的名称。
例如为:
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
}
您可以使用XmlAttributeOverrides
并覆盖属性的XmlIgnore
属性。
(没有在XmlIgnore
MSDN页面为例)
看看this post on SO。可以对你有所帮助。