.NETにIXmlSerializableを実装するクラスがあります。私はそのプロパティをシリアル化したいが、複雑なタイプかもしれない。これらの複合型はXMLシリアル化と互換性がありますが、IXmlSerializable自体は実装されていません。私のReadXmlメソッドとWriteXmlメソッドから、私に渡されるXmlReader/XmlWriterのデフォルトの読み書きロジックを呼び出す方法を教えてください。カスタムXMLシリアル化メソッド内からデフォルトのXMLシリアル化を使用する方法
おそらくコードは、私が何をしたい、それがより明確になります:Writerの
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、これについてさらに質問がありますか?私はあなたが答えを与えられたと思います。 –
ReadSubtreeメソッドは、問題を解決するための鍵でした。現在の回答には、これを行う方法を正確に説明していないため、私は受け入れられたとマークしていません。 –