1 / 1 / 0
Регистрация: 28.10.2017
Сообщений: 28
1

Асинхронная сериализация/ десериализация xml c#

07.04.2019, 21:14. Показов 1578. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно сериализовать и десериализовать список List<> объектов класса. С сериализацией вроде разобрался но с десериализацией непонятно каким образом находить индекс каждого объекта в xml файле. А еще непонятно как прикручивать await.
Вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
using System.IO;
 
namespace ConsoleApp1
{
    [Serializable] public class Car
    {
        public string Name { get; set; }
        public int EngineHP { get; set; }
        public int MaxWeght { get; set; }
 
        public Car() { }
 
        public Car(string name, int engineHP, int maxWeight)
        {
            Name = name;
            EngineHP = engineHP;
            MaxWeght = maxWeight;
        }
    }
 
    class Program
    {
        public static void Serialization(List<Car> cars) //сериализация успешная
        {
            XmlSerializer serializer = new XmlSerializer(typeof(Car));
            using (FileStream fileStream = new FileStream("data.xml", FileMode.OpenOrCreate))
            {
                for (int i = 0; i < cars.Count; i++)
                {
                    serializer.Serialize(fileStream, cars[i]);
                }
                fileStream.Close();
            }
        }
 
        public static List<Car> Deserialization()  //десериализация выдает исключение после компиляции
        {
            List<Car> cars = new List<Car>();
            XmlSerializer deserializer = new XmlSerializer(typeof(Car));
            using (FileStream fileStream = new FileStream("data.xml", FileMode.OpenOrCreate))
            {
                for(int i=0; i<fileStream.Length; i++)
                {
                    cars.Add((Car)deserializer.Deserialize(fileStream));
                }
                
                fileStream.Close();
            }
            return cars;
        }
 
        public static void Main()
        {
            List<Car> cars = new List<Car>();
 
            cars.Add(new Car("Nissan GTR", 540, 1700));
            cars.Add(new Car("Subary WRX STI", 280, 1400));
            cars.Add(new Car("Lamborghini Gallardo LP540", 540, 1800));
            cars.Add(new Car("Porsche 911 GT3 RS", 510, 1600));
            cars.Add(new Car("Mazda RX7", 280, 1300));
 
            Serialization(cars);
            cars.Clear();
 
            Deserialization();
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2019, 21:14
Ответы с готовыми решениями:

Сериализация и десериализация дерева
Здравствуйте. Стоит задача разработать консольное приложение для сериализации и десериализации...

Сериализация и десериализация структуры
Есть структура с полями string , int. Вся информация пишется в файл.txt, мне нужно сделать...

Сериализация и десериализация двусвязного списка
Всем доброго времени суток! Ребят помогите реализовать функции сериализации и десериализации...

Сериализация и десериализация vector'а int'ов
Имею вектор: std::vector&lt;int&gt; mig Нужно очень быстро сохранить его в файл, а потом восстановить...

0
07.04.2019, 21:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2019, 21:14
Помогаю со студенческими работами здесь

Сериализация и десериализация XML
Здравствуйте, нужно сделать серилизацию данных из datagrid. И вывод инфы из файла в datagrid. Вот...

Сериализация десериализация xml документа
Есть у меня такой класс сериализация работает, а вот с десериализацией проблемы, подскажите что не...

Xml сериализация/десериализация нескольких объектов
Как сохранить/загрузить в/из один файл несколько объектов? У меня имеется 2 объекта - TreeView и...

Сериализация/Десериализация списка объектов в XML
имеется базовый класс Figure using System; using System.Collections.Generic; using System.Linq;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru