Страница: 1 |
Страница: 1 |
Вопрос: Вопрос по сериализации
Добавлено: 17.02.10 07:12
Автор вопроса:
mig84
Здравствуйте! Столкнулся с проблемой - нужно сохранить объект класса в файл (желательно XML, но в принце можно и в любой другой), в этом объекте присутствует ArrayList, который в свою очередь заполнен объектами другого класса.
Сериализация работает с использованием SoapFormatter, а вот XMLSerializer - к сожалению, нет (после нескольких безуспешных попыток, я обнаружил упоминание в справке о том, что XMLSerializer не работает с ArrayList).
А проблема, собственно, в том, что SoapFormatter включает в XML, ссылку на сборку, что меня не устраивает...
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа: EROS
Вопросов: 58
Ответов: 4255
Профиль | | #1
Добавлено: 17.02.10 08:18
вы неверно истолковали прочитанное.. дело в том, что XMLSerializer не знает как работать с коллекциями. Все, что необходимо вам сделать это задать соответствующий аттрибут для коллекции в т.ч. и для ArrayList
Номер ответа: 2
Автор ответа: mig84
Вопросов: 1
Ответов: 5
Профиль | | #2
Добавлено: 17.02.10 08:52
Спасибо за пояснение! Сейчас попробую.
Номер ответа: 3
Автор ответа: mig84
Вопросов: 1
Ответов: 5
Профиль | | #3
Добавлено: 17.02.10 10:43
Все работает!
Жаль только, что в vb немного другой синтаксис для XML атрибутов. Какой-то неудобочитаемый, на мой взгляд.
Номер ответа: 4
Автор ответа: EROS
Вопросов: 58
Ответов: 4255
Профиль | | #4
Добавлено: 17.02.10 10:49
ну это уже дело вкуса.. лично мне VB вообще не нравится из за громоздкости конструкций, поэтому я его и не использую...
Номер ответа: 5
Автор ответа: mig84
Вопросов: 1
Ответов: 5
Профиль | | #5
Добавлено: 17.02.10 12:40
еще один вопрос возник - как поступить, если в одном из полей сериализуемого объекта содержится массив?
вот например
выдает ошибку "Возникла ошибка при отражении типа "WindowsApplication1.MyClass"."
если в MyClass:
Номер ответа: 6
Автор ответа: EROS
Вопросов: 58
Ответов: 4255
Профиль | | #6
Добавлено: 17.02.10 15:53
See inner exception...
Номер ответа: 7
Автор ответа: mig84
Вопросов: 1
Ответов: 5
Профиль | | #7
Добавлено: 18.02.10 05:11
Жаль. А вот SoapFormatter может проводить сериализацию таких классов. Одна проблема - привязывается к сборке.