Работа с XML в C#. Урок 1. Подводные камни XML-сериализации. |
Автор megabax | |||||
21.04.2013 г. | |||||
Работа с XML в C#. Урок 1. Подводные камни XML-сериализации.
Что бы смотреть урок полностью, подпишитесь на платный раздел. В платном разделе статья находиться здесь. Для начала я расскажу, что же меня подтолкнуло на написание данного цикла статей. И так, сижу я как то за компьютером, пишу нейросеть (см. так же создаем биржевого робота, где описывается в том числе и эта нейросеть). Эта нейросеть у меня сохраняется в бинарном формате, очень простой конструкцией:
Ну и такая же простая конструкция для чтения нейросети из файла:
И все это отлично работает, не смотря на сложность структуры самой нейронной сети, где класс на классе сидит и классом погоняет :) Казалось, бы, живи да радуйся, "работает - не трогай". Да, действительно, не было бы печали, если бы я не захотел дополнительно сделать еще и XML-сериализацию. А почему же я вдруг решил ее сделать? Мало мне что ли бинарной нормально работающей сериализации? В том то и дело, что бинарная сериализация, при всех своих многочисленных достоинствах имеет один недостаток, который никуда мне не уперся до тех пор, пока я не решил оптимизировать структуру программы. В частности, некоторые классы объединить в отдельную dll-ку. Что бы можно было использовать их в двух разных программах. Например, в одной редактируются нейросети, в другой они работают, допустим, торгуют на бирже, или распознают картинки. Либо, например, созданные в конструкторе нейронные сети можно было бы использовать для экспертной системы, для интеллектуальных игр, и для много другого. Тут только одно ограничение - фантазия программиста. В общем, как только я попытался сохранить нейросеть в XML...
...
... Ничего не работало, программа вылетала в исключение. В ходе отладки некоторые из исключений мне удалось устранить. Вот одно из этих страшных сообщение:
Один из методов отглючивания таких ситуаций...
...
Там, правда, написано по английский. Ну что-ж, попробуем перевести...
...
....Вот собственно, после всех этих злоключений, я и решил более подробно изучить
XML-сериализацию, а потом поделиться своими знаниями с
вами, дорогие читатели. В рамках первого урока я наглядно описал, какие могут
быть подводные камни и сохранении своих классов в XML,
и как с некоторыми из них можно бороться. Со следующего урока мы начнем изучать
XML-сериализацию с самого начала.
|
|||||
Последнее обновление ( 21.04.2013 г. ) |
« След. |
---|