Ho una classe in .NET che implementa IXmlSerializable. Voglio serializzare le sue proprietà, ma possono essere tipi complessi. Questi tipi complessi sarebbero compatibili con la serializzazione XML, ma non implementano IXmlSerializable. Dai miei metodi ReadXml e WriteXml, come faccio a richiamare la logica di lettura/scrittura predefinita su XmlReader/XmlWriter che mi è stata passata.Come utilizzare la serializzazione XML predefinita da metodi di serializzazione XML personalizzati
Forse codice renderlo più chiaro quello che voglio:
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, hai altre domande su questo? Penso che ti sia stata data la risposta. –
Il metodo ReadSubtree era la chiave per risolvere il problema. Non ho contrassegnato la risposta corrente come accettata perché non spiega esattamente come farlo. –