Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > XMLSerializer |
Автор: Alfmaster 15.6.2009, 16:37 |
Возможно ли при сериализации объекта через XMLSerializer не заменять текст в целевом файле, а добавлять сериализуемый объект к уже существующим в файл? |
Автор: mihryak 15.6.2009, 17:59 |
можешь получить файловый поток на добавление через метод File.Open(path, FileMode.Append), только результат тебя не порадует - десериализовать не получится, т.к. при каждой сериализации будет создаваться нода с хмл-декларацией и рутовая нода или поднимай имеющийся контент, или сериализуй по-другому |
Автор: Alfmaster 16.6.2009, 01:40 |
Я думал написать функцию, которая будет читать их файла XML, добавлять в него новые элементы и вновь сохранять! |
Автор: Bladerender 16.6.2009, 09:24 |
Вообще-то розсериализировать получится. Если не ошбаюсь, там стримридер потом по особенному вызывается и он уже пробегаясь но корневым нодам файла смотрит на них как на независимые обьекты. Поройте в этом направлении. |
Автор: Veitmen 16.6.2009, 10:43 |
Для решения поставленной задачи следует использовать следующий алгоритм: 1. Десериализуешь коллекцию объектов из файла. 2. Добавляешь к коллекции объектов еще один или несколько объектов. 3. Сериализуешь коллекцию. Что вы имели ввиду? |
Автор: mihryak 16.6.2009, 11:01 | ||
хм... это как? десериализацию, из контекста вполне следует |
Автор: Alfmaster 16.6.2009, 11:55 | ||
Об этом тоже думал. Не уверен, правда, что это будет в достаточное мере производительно... Хотя, классы у меня будут не большими, с несколькими строковыми полями... |
Автор: mihryak 16.6.2009, 11:57 | ||
описал бы ты задачу, возможно, вообще не тот путь выбрал |
Автор: Alfmaster 17.6.2009, 12:44 |
Мне нужно хранить информацию о всех альбомах и песнях, которые пользователь сам добавляет в библиотеку! |
Автор: Skynin 17.6.2009, 13:30 |
Тогда XML - неверный подход. http://ru.wikipedia.org/wiki/Microsoft_SQL_Server_Compact_Edition |
Автор: mihryak 17.6.2009, 13:51 |
согласен в целом, но и для домашней базы и хмл сгодится если нет опыта работы с БД, и к программе не предъявляются серьёзные требования, то вполне можно использовать, я считаю - всё же простота и скорость разработки в таком случае будут повыше в случае хмл, я бы использовал следующий сценарий: - загрузка данных в память при запуске - редактирование библиотеки тоже в памяти - сохранение данных при выходе пс. но про БД в любом случае стоит задуматься, они для таких целей и нужны |
Автор: Alfmaster 17.6.2009, 14:12 |
Я хочу сделать приложение наподобие айтюнс, чтобы и обложки можно было качать и всякую другую ерунду! щас посмотрю, че там можно сделать с этим SQL сервером компактным... |
Автор: Alfmaster 17.6.2009, 14:56 |
Что-то я вроде все установил, что нужно но в SQL server не появилась возможность подключиться к SQL Server Compact Edition |