.NET 2
Actually there are methods to XML serialize a List<T>
.
What if I have an object that has a public LinkedList<T>
member?
Without creating a public duplicate as List<T>
from LinkedList<T>
. Maybe a way to control the Xml serialization like binary (OnSerializing, OnDeserializing).
Will be impossible to XML serialize a object with a public LinkedList<T>
member?
EDIT:
An test example to fix with IXmlSerializable
using System.Xml.Serialization;
public class Foo : IXmlSerializable { ? ?
? ? private int _Id;
? ? private string _Name;
? ? public string Name {
? ? ? ? get { return _Name; }
? ? ? ? set { _Name = value; }
? ? } ? ?
? ?
? ? private int _Age;
? ? public string Age {
? ? ? ? get { return _Age; }
? ? ? ? set { _Age = value; }
? ? }
? ?
? ? private LinkedList<Bar> _linkedList = new LinkedList<Bar>();
? ? [XmlArray()]
? ? public List<Bar> MyLinkedList {
? ? ? ? get { return _linkedList; }
? ? ? ? set { _linkedList = value; }
? ? }
? ?
? ? public System.Xml.Schema.XmlSchema GetSchema() {
? ? ? ? return null;
? ? }
? ?
? ? public void ReadXml(System.Xml.XmlReader reader) {
? ? ? ? _Name = reader.ReadString(); // ? '? ? ? ? ? ?
? ? ? ? _Age = reader.ReadString(); // ? '
// foreach MyLinkedList
? ? }
? ?
? ? public void WriteXml(System.Xml.XmlWriter writer) {
? ? ? ? writer.WriteString(_Name); // ? '
? ? ? ? writer.WriteString(_Age); // ? '
// foreach MyLinkedList
? ? }
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…