Сериализация нескольких списков в один файл - C#
Формулировка задачи:
Имеется несколько списков:
Как все их сериализовать в один файл?
Для одного списка делаю так:
если сделать так:
то программа не запускается, вроде как блокируется доступ к файлу.
Но при чтении ошибка
public static List<Photo> photos = new List<Photo>(); public static List<Music> music = new List<Music>(); public static List<Video> videos = new List<Video>();
XmlSerializer serializerPhoto = new XmlSerializer(typeof(List<Photo>)); TextWriter textWriter = new StreamWriter(@"e:\db.xml"); serializerPhoto.Serialize(textWriter, photos); textWriter.Close();
... serializerPhoto.Serialize(textWriter, photos); serializerPhoto.Serialize(textWriter, music); ...
Сделал запись вот так:
Type[] personTypes = { typeof(List<Photo>), typeof(List<Music>) }; object[] bla = { photos, music }; TextWriter textWriter = new StreamWriter(@"E:\db.xml"); for (int i = 0; i < personTypes.Length; i++) { XmlSerializer serializerPhoto = new XmlSerializer(personTypes[i]); serializerPhoto.Serialize(textWriter, bla[i]); } textWriter.Close();
TextReader textReader = new StreamReader(@"E:\db.xml"); for (int i = 0; i < personTypes.Length; i++) { XmlSerializer deserializer = new XmlSerializer(personTypes[i]); if (i == 0) bla[0] = (List<Photo>)deserializer.Deserialize(textReader); if (i == 1) bla[1] = (List<Music>)deserializer.Deserialize(textReader); } textReader.Close();
Решение задачи: «Сериализация нескольких списков в один файл»
textual
Листинг программы
familyAnimalList;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д