Показать сообщение отдельно
Непрочитано 14.08.2016, 16:03   #6
Аватар для KID
Пользователь

По умолчанию Re: C# сериализация/десериализация

Код:
        static void Main(string[] args)
        {
            var entry = new Test()
            {
                Id = 123,
                Tests = new List<Test>()
                {
                    new Test()
                    {
                        Id = 124,
                    },
                    new Test()
                    {
                        Id = 125,
                    }
                }
            };

            var filename = "test.xml";
            var xmls = new XmlSerializer(typeof(Test));
            using(var file = File.Create(filename))
            {
                xmls.Serialize(file, entry);
            }

            using(var reader = new StreamReader(filename))
            {
                var result = xmls.Deserialize(reader) as Test;
                Console.WriteLine($"deserialized id: {result.Id} list:");
                foreach(var test in result.Tests)
                {
                    Console.WriteLine($"---------------: {test.Id}");
                }
            }

            Console.WriteLine("done");
            Console.ReadLine();
        }
Код:
    public class Test
    {
        [XmlAttribute]
        public int Id;

        [XmlArray]
        public List<Test> Tests;
    }
Аннотации не обязательны, они лишь влияют на структуру хранения данных в файле. поэксперементируй с ними и без
KID вне форума Отправить сообщение для KID с помощью Skype™ Ответить с цитированием
Сказали спасибо: