C# 是否可以从XmlSerializer序列化中排除类型的某些成员?
我有一些公共成员我不想被序列化,我想知道它是否有一个属性?就可以了。您正在寻找的使用XmlIgnore属性使用XmlIgnoreAttribute按照其他人的建议静态执行 您还可以动态地执行此操作。假设您有一个可序列化的属性名称。然后是:C# 是否可以从XmlSerializer序列化中排除类型的某些成员?,c#,.net,serialization,ixmlserializable,C#,.net,Serialization,Ixmlserializable,我有一些公共成员我不想被序列化,我想知道它是否有一个属性?就可以了。您正在寻找的使用XmlIgnore属性使用XmlIgnoreAttribute按照其他人的建议静态执行 您还可以动态地执行此操作。假设您有一个可序列化的属性名称。然后是: [XmlIgnore] public bool NameSpecified { get { // your logic here } } 如果此特殊属性getter返回true,Name将包含在输出XML文档中,否则将不包含它
[XmlIgnore]
public bool NameSpecified {
get {
// your logic here
}
}
如果此特殊属性getter返回true,Name将包含在输出XML文档中,否则将不包含它NameSpecified本身用[XmlIgnore]标记,因为您显然不想包含它。根据Azheglov关于“指定”后缀的评论,序列化时也会考虑
DefaultValue
属性,如果该值是默认值,则不会序列化该值