#c# #serialization #xml-serialization
#c# #сериализация #xml-сериализация
Вопрос:
У меня есть класс object для сериализации 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
свойство. Я только хочу, чтобы RequestXML
и MetaXML
были сериализованы в XML. Как я могу исключить Subscriber
свойство в процессе сериализации?
Ответ №1:
Используйте атрибут [XmlIgnore]:
// Property that I don't want to be serialized.
[XmlIgnore]
public Subscriber Subscriber { get; set; }
Ответ №2:
Добавьте атрибут XmlIgnore к этому свойству.