禁止序列化特定属性

问题描述

| 我有一个用于XML序列化的类对象
[XmlType(\"PAYMENT\")]
public class PaymentXML
{
    [XmlElement(ElementName = \"REQUEST\")]
    public RequestXML Request { get; set; }

    [XmlElement(ElementName = \"Meta\")]
    public MetaXML Request { get; set; }

    //Property that I dont want to be serialized
    public Subscriber Subscriber { get; set; }
}
序列化
var xml = new PaymentXML();

string path = HttpContext.Current.Server.MapPath(@_xmlResponseDir + _responsePath);

using (var sw = new StreamWriter(path))
{
    var ns = new XmlSerializerNamespaces();
    ns.Add(\"\",\"\");

    var serializer = new XmlSerializer(typeof(PaymentXML),new XmlRootAttribute(\"XML\"));

    serializer.Serialize(sw,xml,ns);
}
问题是,它还在序列化
Subscriber
属性。我只希望将ѭ3和ѭ4序列化为XML。如何在序列化过程中排除2属性?     

解决方法

使用[XmlIgnore]属性:
// Property that I don\'t want to be serialized.
[XmlIgnore]
public Subscriber Subscriber { get; set; }
    ,将XmlIgnore属性添加到该属性。