• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Статья c# Запись данных в xml файл

Из этой небольшой статьи вы узнаете, как запись данных в xml файл с помощью языка c#

1. Создадим новый проект типа Windows Forms Application и добавим на форму кнопку, при нажатии на которую будет осуществляться запись в xml файл.

2. Добавим в проект xml файл, который содержит следующую структуру:
Код:
<users>
<user id="1">
<name>Петя</name>
<lastname>Петров</lastname>
<age>23</age>
</user>
<user id="2">
<name>Иван</name>
<lastname>Иванов</lastname>
<age>24</age>
</user>
<user id="3">
<name>Сергей</name>
<lastname>Сидоров</lastname>
<age>25</age>
</user>
</users>
3. Для работы с xml файлами воспользуемся технологией Linq to XML. Для этого в коде добавим следующую строку:
Код:
using System.Xml.Linq;
4. С помощью метода Load загружаем xml файл.
Код:
XDocument xDoc = XDocument.Load("путь к xml файлу");
5. Далее описываем какую-то логику, действия, которые необходимо выполнить с загруженным в память документом. Например, изменим имя пользователя с фамилией Иванов на Александр.

6. После выполнения выше описанной операции все изменения произойдут только в документе расположенном памяти и при этом никак не затронут физический файл. Исправим это и с помощью метода Save запишем данные в xml файл.
Код:
xDoc.Save("путь к xml файлу");
Полный листинг
Код:
private void button1_Click(object sender, EventArgs e)
{
string xmlFilePath = @"../../users.xml";
XDocument xDoc = XDocument.Load(xmlFilePath);
IEnumerable <XElement> xElms;
xElms = xDoc.Descendants("user").
Where(x => x.Element("lastname").Value == "Иванов");
foreach (XElement xElm in xElms)
{
xElm.Element("name").Value = "Александр";
}
xDoc.Save(xmlFilePath);
}
Результат:
Код:
<user id="2">
<name>Александр</name>
<lastname>Иванов</lastname>
<age>24</age>
</user>
Читайте также:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!