Tengo una clase en .NET que implementa IXmlSerializable. Quiero serializar sus propiedades, pero pueden ser tipos complejos. Estos tipos complejos serían compatibles con la serialización de XML, pero no implementan ellos mismos IXmlSerializable. De mis métodos ReadXml y WriteXml, ¿cómo invoco la lógica de lectura/escritura predeterminada en XmlReader/XmlWriter que me es pasada?Cómo utilizar la serialización XML predeterminada desde los métodos de serialización XML personalizados
Quizás código hará que sea más claro lo que quiero:
public class MySpecialClass : IXmlSerializable
{
public List<MyXmlSerializableType> MyList { get; set; }
System.Xml.Schema.XmlSchema IXmlSerializable.GetSchema()
{
return null;
}
void IXmlSerializable.ReadXml(System.Xml.XmlReader reader)
{
// Read MyList from reader, but how?
// Something like this?
// MyList = (List<MyXmlSerializableType>)
reader.ReadObject(typeof(List<MyXmlSerializableType>));
}
void IXmlSerializable.WriteXml(System.Xml.XmlWriter writer)
{
// Write MyList to writer, but how?
// Something like this?
// writer.WriteObject(MyList)
}
}
Daniel, ¿tiene más preguntas al respecto? Creo que te han dado la respuesta. –
El método ReadSubtree fue la clave para resolver el problema. No he marcado la respuesta actual como aceptada porque no explica exactamente cómo hacer esto. –