|
0 / 0 / 0
Регистрация: 08.11.2023
Сообщений: 64
|
|||||||||||||||||||||
Работа с XML файлом: Добавить новый элемент в элемент находящийся в элементе17.07.2024, 17:14. Показов 2177. Ответов 30
Есть база данных на Xml, в ней при регистрации пользователя создается 1 элемент название Взвода и 2 Элемент вложенный в первый данные об учащемся. по итогу прохождения программы во 2 элемент должен добавится(вложиться) 3 элемент (баллы которые получил участник )
как примерно выглядят Элементы в Xml
вот она
0
|
|||||||||||||||||||||
| 17.07.2024, 17:14 | |
|
Ответы с готовыми решениями:
30
Добавить новый элемент и параметр в существующий XML файл Удалить из списка очереди первый элемент, добавить новый элемент на последнее место |
|
0 / 0 / 0
Регистрация: 08.11.2023
Сообщений: 64
|
|||||||
| 14.11.2024, 09:49 [ТС] | |||||||
|
Добавлено через 20 минут Ошибка + $exception {"Object reference not set to an instance of an object."} System.NullReferenceException Вот само задание Элемента в котором находится нужный мне и само место ошибки
0
|
|||||||
|
Администратор
|
|||
| 15.11.2024, 12:34 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 08.11.2023
Сообщений: 64
|
||
| 15.11.2024, 12:43 [ТС] | ||
|
1) человек регистрируется создается сейв в xml-файле с его элементом (1) его отделение и его атрибутом, после создается его подэлемент (2) с Фамилией Именем и Отчеством ( при наличии ). (либо же) в уже имеющемся взводе создается новый человек. (или) ничего не создается ( НАД этим щас работаю) -> Дальше открывается новое окно, он проходит тест, после чего в его уже созданные данные сохраняются данные с его результатом прохождения теста (3) Элемент под его (Именем и т.д.) Добавлено через 2 минуты в самой программе есть динамические переменные с классом data в них сохранаются 1)XmlDocument xml 2) Взвод 3) ФИО
0
|
||
|
Администратор
|
|
| 15.11.2024, 13:55 | |
|
Bond-007, описанный функционал можно без проблем реализовать как путем прямой работы с XML так и с помощью сериализации/десереализации. Видя как вы боретесь с XML я считаю что вам стоит попробовать второй вариант.
0
|
|
|
0 / 0 / 0
Регистрация: 08.11.2023
Сообщений: 64
|
||
| 15.11.2024, 14:00 [ТС] | ||
|
возможно десириализация будет удобна для вывода данных, но с ней и разобраться куда сложнее
0
|
||
|
Администратор
|
|
| 15.11.2024, 14:02 | |
|
Bond-007, вам виднее.
0
|
|
|
0 / 0 / 0
Регистрация: 08.11.2023
Сообщений: 64
|
||
| 16.11.2024, 09:14 [ТС] | ||
|
я смогу добавить в уже имеющийся файл, файлы записанные в программе ? то есть , человек зарегистрировался и добавить его сразу, не выводя весь файл из xml
0
|
||
|
Модератор
|
|||
| 17.11.2024, 12:10 | |||
|
И намного удобнее. Для "прохода" существует LINQ, но скорее всего после сериализации проходов и не потребуется. Добавлено через 3 минуты У вас проблема, насколько вижу, даже не в самой работе с XML. Вы фактически игнорируете ООП. Вместо работы с объектами, работаете с отдельными элементами исходных данных методами процедурного программирования, как на Basic полвека назад. Шарп - это ЯП для ООП. И игнорировать ООП при разработке на Шарпе.... мягко говоря, нецелесообразно.
0
|
|||
|
0 / 0 / 0
Регистрация: 08.11.2023
Сообщений: 64
|
||
| 18.11.2024, 11:00 [ТС] | ||
|
0
|
||
|
|
||||
| 18.11.2024, 11:35 | ||||
|
Bond-007, когда ты работаешь с конкретным XmlElement-ом, на этот момент ты уже считал весь файл в память. Он там висит целиком, хоть "выводи", хоть "не выводи".Так же и запишется он весь целиком обратно в файл, при сохранении.
0
|
||||
|
Модератор
|
||
| 18.11.2024, 13:28 | ||
|
У вас есть объекты (экземпляры класса): человек, учащийся, преподаватель, урок, занятие и т.д. Вы изменяете состояние этих объектов. Если нужно, то сохраняете состояние и восстанавливаете его. То есть вы должны работать с объектами. Соответственно, если вы так будете работать, то сохранять/восстанавливать состояния объектов с помощью сериализации будет намного проще и органичнее. Под работу с Хранилищем вам нужно создать Репозиторий. И это уже его забота, как сохранять/восстанавливать сущности. При необходимости вы должны иметь возможность изменить Хранилище (например на SQLite) изменив для этого только подключаемый к Приложению Репозиторий.
0
|
||
| 18.11.2024, 13:28 | |
|
Функция: добавить новый элемент в начало списка, если элемент с таким значением не существует Функция: добавить новый элемент в начало списка, если элемент с таким значением не существует
Добавить в начало списка новый элемент со значением D1, а конец - новый элемент со значением D2 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|