0 / 0 / 0
Регистрация: 14.12.2022
Сообщений: 2

Проблема с добавлением данных в Xml файл

14.12.2022, 15:47. Показов 1316. Ответов 1

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня есть Xml файл, который содержит информацию о работниках, для каждого работника есть список работ и заработных плат. Задание состоит в том, чтобы добавить информацию о работнике, трудности начинаются с того, что я не могу нормально записать каждую работу, в узел "работы" для одного работника, я не понимаю в чём проблема.


Данные для записи в файл, записаны в экземпляр класса new_one.

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<employees>
        <employee ФИО ="Работник Иван Удар">
            <годрождения>1995</годрождения>
            <адрес> Москва </адрес>
            <номер> 88005553535 </номер>
            <работы> 
                <работа названиеработы= "Сборщик рис">
                    <начало>30.01.2020</начало>
                    <конец>02.05.2020</конец>
                    <отдел>Сервисный</отдел>
                </работа>
                    <работа названиеработы="Нефритовый воин">
                    <начало>02.05.2020</начало>
                    <конец>30.01.2020</конец>
                    <отдел> Сервисный </отдел>
                </работа>
            </работы>
            <зарплаты>
                <выплата>
                    <год> 2020 </год>
                    <месяц> 01 </месяц>
                    <сумма> 14450 </сумма>
                </выплата>
                <выплата>
                    <год> 2020 </год>
                    <месяц> 02 </месяц>
                    <сумма> 12400 </сумма>
                </выплата>
            </зарплаты>
        </employee>
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
employee new_one = new employee();
 
                    //----------------------------------------------------------------------
                    XDocument xdoc = XDocument.Load(@"D:\list2.xml");
                    xdoc.Element("employees").Add(
                        new XElement("employee",
                        new XAttribute("ФИО", new_one.fullname),
                        new XElement("годрождения", new_one.birthday),
                        new XElement("адрес", new_one.address),
                        new XElement("работы",
                            new XElement("работа",
                            new XAttribute("названиеработы", new_one.jobs[0].position),
                            new XElement("начало", new_one.jobs[0].date_start_job),
                            new XElement("конец", new_one.jobs[0].date_end_job),
                            new XElement("отдел", new_one.jobs[0].department)
                        ))));
         xdoc.Save("people3.xml");
                    foreach (job current_job in new_one.jobs.Skip(1))
                    {       
                        xdoc.Element("employees").Elements("employee").Where(x => ((string)x.Element("employee") == current_job.position)).Elements("работы").Elements("работа").Single<XElement>()
                            .Add(
                                new XElement("работа",
                                new XAttribute("названиеработы", current_job.position),
                                new XElement("начало", current_job.date_start_job),
                                new XElement("конец", current_job.date_end_job),
                                new XElement("отдел", current_job.department)
                            ));
                    }
Добавлено через 21 минуту
.Elements("работа") - лишнее, забыл убрать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.12.2022, 15:47
Ответы с готовыми решениями:

Проблема с добавлением данных
Добрый день ! У меня возникла вот такая проблема. Я прописываю вот этот код bool flag = true; using (OleDbCommand...

Проблема с добавлением в базу данных
Добрый вечер, вот код вроде все работает без ошибок, но не добавляется в базу данных! Все перечитал перепробовал, подскажите что не так. ...

Создание XML-документа из имеющегося шаблона с добавлением вводимых данных
Добрый день! подскажите как будет выглядеть скрипт: запускаю, ввожу параметры в диалоговом окне номер телефона $num фио $fio mac...

1
0 / 0 / 0
Регистрация: 14.12.2022
Сообщений: 2
15.12.2022, 11:38  [ТС]
C#
1
xdoc.Element("employees").Elements("employee").Where( x=> x.Attribute("ФИО").Value == new_one.fullname).Elements("работы").Single<XElement>()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.12.2022, 11:38
Помогаю со студенческими работами здесь

Проблема с добавлением данных в коллекцию LiteDB
У меня есть колекция Пользователя, которая хранит в себе его данные и она же содержит в себе колеекцию History в виде листа public class...

Возникла проблема с добавлением данных в datagrid
Всем доброго времени суток! Сразу говорю что я новичок, строго не судите! Делаю графическую часть программы на WPF, добавляю данные в 4...

Знатоки, с добавлением в базу данных SQL из WPF (TextBox.Text) возникла проблема
В базе указал, что в TextBox есть и нет значений null, но при добавлении не все строки выводятся как null, а просто заполняется пустой...

Сохранение xml данных в xml-файл
Прошу помощи: Есть переменная json, которую необходимо перевести в xml, а затем сохранить на сервере в виде файла xml. Переменная...

Проблема десерилизации данных XML
Здраствуйте. Имеется база данных в формате xml в необычном формате, помогите сделать алгоритм выводящий id(состоящий из самого id и owner...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru