Сериализация/десериализация

alexandr.krupnov
Сообщений: 31
Зарегистрирован: 01 апр 2014, 21:00

Сериализация/десериализация

Сообщение alexandr.krupnov » 01 июн 2015, 07:58

Необходимо при десериализации неверного файла предотвратить исключение и просто сообщить пользователю, что открываемый xml файл не соответствует требуемой структуре. Как это сделать, подскажите пожалуйста (как сделать "фильтр" на файлы при десериализации)
Последний раз редактировалось alexandr.krupnov 27 ноя 2019, 19:45, всего редактировалось 1 раз.
Причина: test

12d3
Сообщений: 3347
Зарегистрирован: 02 янв 2009, 21:00

Сериализация/десериализация

Сообщение 12d3 » 01 июн 2015, 08:16

Какой язык? Пользуетесь ли библиотекой какой-нибудь для парсинга xml файла? Скиньте лучше кусок кода, где файл читается и парсится.
Последний раз редактировалось 12d3 27 ноя 2019, 19:45, всего редактировалось 1 раз.
Причина: test

alexandr.krupnov
Сообщений: 31
Зарегистрирован: 01 апр 2014, 21:00

Сериализация/десериализация

Сообщение alexandr.krupnov » 01 июн 2015, 08:18

c#
ConfTests myObject;
XmlSerializer mySerializer = new XmlSerializer(typeof(ConfTests));
FileStream myFileStream = new FileStream(filename, FileMode.Open);
myObject = (ConfTests)mySerializer.Deserialize(myFileStream);
Последний раз редактировалось alexandr.krupnov 27 ноя 2019, 19:45, всего редактировалось 1 раз.
Причина: test

12d3
Сообщений: 3347
Зарегистрирован: 02 янв 2009, 21:00

Сериализация/десериализация

Сообщение 12d3 » 01 июн 2015, 08:36

Прошу прощения за хреновое форматирование, но будет как-то так: try { myObject = (ConfTests)mySerializer.Deserialize(myFileStream); }catch (InvalidOperationException e) { Console.WriteLine("Плохой файл"); }
Последний раз редактировалось 12d3 27 ноя 2019, 19:45, всего редактировалось 1 раз.
Причина: test

alexandr.krupnov
Сообщений: 31
Зарегистрирован: 01 апр 2014, 21:00

Сериализация/десериализация

Сообщение alexandr.krupnov » 01 июн 2015, 11:57

Спасибо. Так просто, когда приведут пример. 
Последний раз редактировалось alexandr.krupnov 27 ноя 2019, 19:45, всего редактировалось 1 раз.
Причина: test


Вернуться в «Computer Science»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 1 гость