1 | |||||||||||||||||||||
.NET 4.x Сохранение списка объектов класса в ручную, сохранение в XML. Без сериализации.26.12.2010, 01:45. Показов 7113. Ответов 7
Метки нет (Все метки)
Здравствуйте! Хотел спросить. Как можно сохранить список объектов в XML файл вручную? Я сериализацией делаю так:
Класс, который будем сохранять и класс, который сериализовывает список объектов класса.
Вообще, хотябы узнать, как загружать такого вида список. Мне нужно это, чтобы в новой версии программы конвертировать сохранённые настройки в новый изменённый класс... Ну и не только настройки, кое какие объекты ещё...
0
|
26.12.2010, 01:45 | |
Ответы с готовыми решениями:
7
Сохранение объектов класса в Xml файл Сохранение объектов в XML. Вложенность 3 порядка Сохранение объектов класса в файл Создание/сохранение класса из/в XML |
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
|
||||||||||||||||
26.12.2010, 02:08 | 2 | |||||||||||||||
Можно использовать Linq to XML
Вот когда то написал класс repository который сохраняет список обектов можно добавлять удалять класс который будет записан в Xml
2
|
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
|
|
26.12.2010, 02:10 | 3 |
бывает разные уровни "ручнистости"
1) перебрать список и сериализовать каждый элемент обычным XmlsSerializer 2) реализовать IXmlSerializable для класса(который в списке), так же перебрать список 3) сделать свой список и реализовать для него и класса IXmlSerializable 4) вообще забыть про serializer и писать через XmlWriter или XmlDocument
0
|
26.12.2010, 02:16 [ТС] | 4 | |||||
А как загрузить можно? Только попроще как нибудь, если можно.
Я пока только смог открыть документ и получить и как я понял передвинуться по дереву на элемент <ArrayOfTestObject/>
Добавлено через 2 минуты Мне скорее подойдёт такой вариант: Я сохраняю сериализацией всегда. При выходе новой версии гружу старые файлы вручную, через XmlDocument, конвертирую настройки и т.д. Создаю новый файл(ы) и потом уже читаю и сохраняю, как обычно сериализацией. Так проще думаю. Это в теории, а так предстоит это ещё опробовать, не известно, что там получится...
0
|
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
|
|
26.12.2010, 02:31 | 5 |
А как ты вообще умудрился сломать стандартный читатель?)
Он же прекрасно читает если нет(или есть лишние) каких-то полей в классе, даже если целый список каких-то объектов пропадет он все равно сможет прочитать
0
|
26.12.2010, 02:56 [ТС] | 6 | |||||||||||||||
Ну например я изменил класс так:
Добавлено через 22 минуты О! Вроде разобрался более менее. Только, чтобы с EnumConverter небыло проблем в перечислении лучше не использовать зарезервированные слова, так как ругался при конвертации на значение Double Чуть изменил перечисление и в файле тоже проставил эти изменённые значения:
0
|
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
|
|||||||||||
27.12.2010, 21:53 | 7 | ||||||||||
Вот этот метод и читает данные из файла xml
Если хотите красивее используйте сериализацию
0
|
27.12.2010, 22:03 | 8 |
Вот тут:
https://www.cyberforum.ru/csha... ost1237754 есть пример без сериализации и то же самое с ней (чуть ниже). Может пригодится.
0
|
27.12.2010, 22:03 | |
27.12.2010, 22:03 | |
Помогаю со студенческими работами здесь
8
Комментарии при сериализации класса в xml При сериализации класса, порой, меняется очерёдность полей в конечном XML файле Сохранение объектов сохранение объектов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Блоги программистов | |||||
Обновление сайта www.historian.by
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
|
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|
Это мы не проходили, это нам не задавали...(асихронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
|
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
|
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения
PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
|
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
|
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
|
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9
Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
|
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
wget. . .
|
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin.
Есть ещё регистры,. . .
|
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps
Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
|