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

Как записать данные в 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>

Читайте также:

One Comment

  1. Сергей says:

    Второе название этого урока &#8212; поиск и замена элемента в XML файле.

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*