Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XMLSerializer 
:(
    Опции темы
Alfmaster
Дата 15.6.2009, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 20.9.2008

Репутация: нет
Всего: нет



Возможно ли при сериализации объекта через XMLSerializer не заменять текст в целевом файле, а добавлять сериализуемый объект к уже существующим в файл?
PM MAIL   Вверх
mihryak
Дата 15.6.2009, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



можешь получить файловый поток на добавление через метод File.Open(path, FileMode.Append), только результат тебя не порадует - десериализовать не получится, т.к. при каждой сериализации будет создаваться нода с хмл-декларацией и рутовая нода
или поднимай имеющийся контент, или сериализуй по-другому
PM MAIL ICQ   Вверх
Alfmaster
Дата 16.6.2009, 01:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 20.9.2008

Репутация: нет
Всего: нет



Я думал написать функцию, которая будет читать их файла XML, добавлять в него новые элементы и вновь сохранять!
PM MAIL   Вверх
mihryak
Дата 16.6.2009, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



Цитата(Alfmaster @  16.6.2009,  02:40 Найти цитируемый пост)
Я думал написать функцию, которая будет читать их файла XML, добавлять в него новые элементы и вновь сохранять! 

вот это я имел в виду в первом варианте
только подумай ещё и о производительности - насколько часто нужно будет вызывать сериализацию-десериализацию и насколько большой предполагается объём сериализуемых данных
если и то, и то не на высоте, то вариант очень даже неплох
PM MAIL ICQ   Вверх
Bladerender
Дата 16.6.2009, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Вообще-то розсериализировать получится. Если не ошбаюсь, там стримридер потом по особенному вызывается и он уже пробегаясь но корневым нодам файла смотрит на них как на независимые обьекты. Поройте в этом направлении.
PM MAIL   Вверх
Veitmen
Дата 16.6.2009, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 288
Регистрация: 10.11.2006
Где: СПБ

Репутация: 3
Всего: 4



Для решения поставленной задачи следует использовать следующий алгоритм:

1. Десериализуешь коллекцию объектов из файла.
2. Добавляешь к коллекции объектов еще один или несколько объектов.
3. Сериализуешь коллекцию.

Цитата(Bladerender @  16.6.2009,  09:24 Найти цитируемый пост)
Вообще-то розсериализировать получится.

Что вы имели ввиду?
PM MAIL ICQ   Вверх
mihryak
Дата 16.6.2009, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



Цитата(Bladerender @  16.6.2009,  10:24 Найти цитируемый пост)
Если не ошбаюсь, там стримридер потом по особенному вызывается и он уже пробегаясь но корневым нодам файла смотрит на них как на независимые обьекты.

хм... это как?
Цитата(Veitmen @  16.6.2009,  11:43 Найти цитируемый пост)
Что вы имели ввиду? 

десериализацию, из контекста вполне следует

PM MAIL ICQ   Вверх
Alfmaster
Дата 16.6.2009, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 20.9.2008

Репутация: нет
Всего: нет



Цитата

1. Десериализуешь коллекцию объектов из файла.
2. Добавляешь к коллекции объектов еще один или несколько объектов.
3. Сериализуешь коллекцию.


Об этом тоже думал. Не уверен, правда, что это будет в достаточное мере производительно... Хотя, классы  у меня будут не большими, с несколькими строковыми полями...
PM MAIL   Вверх
mihryak
Дата 16.6.2009, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



Цитата(Alfmaster @  16.6.2009,  12:55 Найти цитируемый пост)
Об этом тоже думал. Не уверен, правда, что это будет в достаточное мере производительно... Хотя, классы  у меня будут не большими, с несколькими строковыми полями... 

описал бы ты задачу, возможно, вообще не тот путь выбрал
PM MAIL ICQ   Вверх
Alfmaster
Дата 17.6.2009, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 20.9.2008

Репутация: нет
Всего: нет



Мне нужно хранить информацию о всех альбомах и песнях, которые пользователь сам добавляет в библиотеку!
PM MAIL   Вверх
Skynin
Дата 17.6.2009, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 1.7.2007
Где: Харьков

Репутация: 1
Всего: 10



Тогда XML - неверный подход.

Microsoft SQL Server Compact Edition
PM MAIL WWW ICQ Skype GTalk YIM MSN   Вверх
mihryak
Дата 17.6.2009, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



Цитата(Skynin @  17.6.2009,  14:30 Найти цитируемый пост)
Тогда XML - неверный подход.

согласен в целом, но и для домашней базы и хмл сгодится
если нет опыта работы с БД, и к программе не предъявляются серьёзные требования, то вполне можно использовать, я считаю - всё же простота и скорость разработки в таком случае будут повыше

в случае хмл, я бы использовал следующий сценарий:
- загрузка данных в память при запуске
- редактирование библиотеки тоже в памяти
- сохранение данных при выходе

пс. но про БД в любом случае стоит задуматься, они для таких целей и нужны
PM MAIL ICQ   Вверх
Alfmaster
Дата 17.6.2009, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 20.9.2008

Репутация: нет
Всего: нет



Я хочу сделать приложение наподобие айтюнс, чтобы и обложки можно было качать и всякую другую ерунду! щас посмотрю, че там можно сделать с этим SQL сервером компактным...
PM MAIL   Вверх
Alfmaster
Дата 17.6.2009, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 20.9.2008

Репутация: нет
Всего: нет



Что-то я вроде все установил, что нужно но в SQL server не появилась возможность подключиться к SQL Server Compact Edition
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0792 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.