Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 27.09.2015
Сообщений: 121

Как редактировать элементы в XML-документе?

30.05.2018, 23:35. Показов 2022. Ответов 3

Студворк — интернет-сервис помощи студентам
Добрый день!

У меня есть проект Windows Forms с привязанным XML-документом. Данные из XML попадают в текстбоксы формы. Как можно отредактировать эти данные из формы в XML?

XML
1
2
3
4
5
6
7
<root>
      <Person name="Person1">
           <Name>Вася</Name>
           <LastName>Пупкин</LastName>
           <Status>Студент</Status>
      </Person>
</root>
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
29
30
public string Name
{
     get { return txtName.Text; }
     set {txtName.Text = value; }
}
 
public string LastName
{
     get { return txtLastName.Text; }
     set {txtLastName.Text = value; }
}
 
public string Status
{
     get { return txtStatus.Text; }
     set {txtStatus.Text = value; }
}
 
private void LoadPerson()
{
      XmlDocument doc = new XmlDocument();
      doc.Load("XLMFile1.xml");
 
      foreach (XmlNode node in doc.DocumentElement)
      {
           Name = node["Name"].InnerText;
           LastName = node["LastName"].InnerText;
           Status = node["Status"].InnerText;
       }
}
Добавлено через 1 час 24 минуты
Данные нужно отредактировать с помощью кнопки Save:

C#
1
2
3
4
private void butSave_Click(object sender, EventArgs e)
{
     // как из свойств, в которые обернуты текстбоксы, занести информацию в соответствующий элемент XML-файла?
}
Подскажите пожалуйста!

Добавлено через 14 часов 37 минут
Проблема так и не решена, может кто-нибудь что-нибудь подскажет? очень нужно
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.05.2018, 23:35
Ответы с готовыми решениями:

Не удается спарсить нужные элементы в Xml документе
Всем привет возникла такая не удачная ситуация есть вот такой Xml документ &lt;data&gt; &lt;presents&gt; &lt;present...

Как создавать и редактировать xml-файлы?
Я думаю для вас ето простенький вопрос(буду признателен за помощь). А вопрос состоит вот в чем: как создавать и редактировать xml-файлы? ...

Как с помощью sed редактировать текст XML-файла?
Как с помощью sed конвертировать текст файла *.xml? исходник результат Просьба прокомментировать получившийся код sed.

3
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18307 / 14231 / 5368
Регистрация: 17.03.2014
Сообщений: 28,904
Записей в блоге: 1
31.05.2018, 00:45
Green01, если в XML файле всегда всего один элемент Person, то вот так:
C#
1
2
3
4
5
6
7
8
9
XElement xroot = new XElement("root",
    new XElement("Person",
        // new XAttribute("name", "Person1"), // Непонятно откуда брать значение атрибута
        new XElement("Name", Name),
        new XElement("LastName", LastName),
        new XElement("Status", Status)
    )
);
xroot.Save("XLMFile1.xml");
Если в файле может быть несколько Person, то опишите как именно нужно определять какой элемент редактируется.
0
0 / 0 / 1
Регистрация: 27.09.2015
Сообщений: 121
31.05.2018, 01:25  [ТС]
OwenGlendower, у меня почему-то XElement не доступен в студии... А элемент Person один в файле
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18307 / 14231 / 5368
Регистрация: 17.03.2014
Сообщений: 28,904
Записей в блоге: 1
31.05.2018, 01:35
Лучший ответ Сообщение было отмечено Green01 как решение

Решение

Цитата Сообщение от Green01 Посмотреть сообщение
у меня почему-то XElement не доступен в студии
using System.Xml.Linq; добавь. Подобные проблемы нужно уметь решать самостоятельно.

Цитата Сообщение от Green01 Посмотреть сообщение
А элемент Person один в файле
Значит делаем так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private string nameAttr;
 
private void LoadPerson()
{
    XElement xperson = XElement.Load("XLMFile1.xml").Element("Person");
    nameAttr = xperson.Attribute("name").Value;
    Name = xperson.Element("Name").Value;
    LastName = xperson.Element("LastName").Value;
    Status = xperson.Element("Status").Value;
}
 
private void SavePerson()
{
    XElement xroot = new XElement("root",
        new XElement("Person",
            new XAttribute("name", nameAttr),
            new XElement("Name", Name),
            new XElement("LastName", LastName),
            new XElement("Status", Status)
        )
    );
    xroot.Save("XLMFile1.xml");
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.05.2018, 01:35
Помогаю со студенческими работами здесь

Почему не получается редактировать формулы в документе?
Люди добрые,подскажите пожалуйста.почему у меня не получается редактировать формулы в этом документе?Выскакивает табличка-&quot;Не удается...

Как совмещать XML с HTML в одном документе?
Вообще, как использовать XML? Когда я пишу стандартный для новичка кусок хмл кода и созраняю его с расширением .xml, вид выводимы в...

Как получить значение атрибута заданного узла в xml документе
Добрый день, всю голову сломал, второй день не могу найти как сделать подобное. Есть xml. В ней надо найти узел с атрибутом...

Как проверить четность позиций элементов в XML-документе, используя XSLT?
Привет всем. У меня есть такой вопрос: Есть XML-документ вида: &lt;list&gt; &lt;item1&gt;content&lt;/item1&gt; ...

ActiveX компонент, который позволяет редактировать вордовский файл в html документе
задача написать active-x компонент, который позволяет редактировать вордовский файл в html документе Подскажите как или где можно взять...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru