private static void XmlSerializationDemo() { Header("XML сериализация"); TrainXml train = new TrainXml(190.2, 8, "Иванов И.И.", "Петров П.П.", "Сидоров С.С."); Comment("Объект до сериализации"); train.Print(); Console.WriteLine(); using (MemoryStream memoryStream = new MemoryStream()) { // Выполняем сериализацию в поток в памяти XmlSerializer xmlSerializer = new XmlSerializer(typeof(TrainXml)); xmlSerializer.Serialize(memoryStream, train); // Печатаем результат на экран memoryStream.Position = 0; StreamReader reader = new StreamReader(memoryStream); string xml = reader.ReadToEnd(); Comment("Результат XML сериализации"); Console.WriteLine(xml); Console.WriteLine(); memoryStream.Position = 0; // Выполняем десериализацию TrainXml trainCopy = (TrainXml)xmlSerializer.Deserialize(memoryStream); Comment("Копия объекта после сериализации."); trainCopy.Print(); Console.WriteLine("\r\nReferenceEquals(train, trainCopy)={0}", ReferenceEquals(train, trainCopy)); reader.Close(); } Pause(); }