是否可以从XmlSerializer序列化中排除某些类型的成员?

Joa*_*nge 5 .net c# serialization ixmlserializable

我有一些公众成员我不想被序列化,想知道是否有属性吗?

Rya*_*ldi 7

您正在寻找XmlIgnore


azh*_*lov 5

正如其他人所建议的那样,使用XmlIgnoreAttribute以静态方式执行此操作.

你也可以动态地做.假设您有一个可序列化的属性Name.然后是以下内容:

[XmlIgnore]
public bool NameSpecified {
    get {
        // your logic here
    }
}
Run Code Online (Sandbox Code Playgroud)

如果此特殊属性getter返回true,则Name将包含在输出XML文档中,否则将不包括在内. NameSpecified本身标有[XmlIgnore],因为你显然不想包含它.