Mam klasę .NET, która implementuje IXmlSerializable. Chcę serializować jego właściwości, ale mogą to być typy złożone. Te złożone typy byłyby kompatybilne z serializacją XML, ale same nie implementują IXmlSerializable. Z moich metod ReadXml i WriteXml, jak wywołać domyślną logikę odczytu/zapisu w XmlReader/XmlWriter, który jest mi przekazywany.Jak korzystać z domyślnej serializacji XML z niestandardowych metod serializacji XML
Może kod uczyni go bardziej zrozumiałym, co chcę:
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, masz więcej pytań na ten temat? Myślę, że dostałeś odpowiedź. –
Metoda ReadSubtree była kluczem do rozwiązania problemu. Nie zaznaczono obecnej odpowiedzi jako zaakceptowanej, ponieważ nie wyjaśnia dokładnie, jak to zrobić. –