private void serializeSample() { Adult person1 = new Adult(); person1.Name = "山田太郎"; person1.CompanyName = "山田商事"; Adult person2 = new Adult(); person2.Name = "山田二郎"; person2.CompanyName = "山田飯店"; Child person3 = new Child(); person3.Name = "山田三郎"; person3.SchoolName = "山田学園"; Persons persons = new Persons(); persons.SetPersons( person1, person2, person3 ); XmlSerializer serializer = new XmlSerializer(typeof(Persons)); using( FileStream stream = new FileStream(@"c:\sample.xml",FileMode.Create) ) { serializer.Serialize(stream, persons); } } private void deserializeSample() { XmlSerializer serializer = new XmlSerializer(typeof(Persons)); Persons persons; using( FileStream stream = new FileStream(@"c:\sample.xml",FileMode.Open) ) { persons = (Persons)serializer.Deserialize(stream); } persons.Dump(); } private void Form1_Load(object sender, System.EventArgs e) { serializeSample(); deserializeSample(); }