2011-05-26 8 views
12

que tiene un objeto de clase para la serialización XMLserialización Desactivar para especificar los

[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; } 
} 

la serialización

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); 
} 

El problema es, también es serializar la propiedad Subscriber. Solo quiero serializar el RequestXML y el MetaXML en XML. ¿Cómo puedo excluir la propiedad Subscriber en el proceso de serialización?

Respuesta

30

utilizar el atributo [XmlIgnore]:

// Property that I don't want to be serialized. 
[XmlIgnore] 
public Subscriber Subscriber { get; set; } 
Cuestiones relacionadas