Как внести изменения в XML файл - C#
Формулировка задачи:
Добрый день, не так давно начал изучать C# и возникла проблема при изменении xml файла
подскажите, как изменить мой xml файл
Листинг программы
- <?xml version="1.0" encoding="UTF-16"?>
- <head>
- <element number="1">
- <category>Десерты</category>
- <name>Маффины с голубикой</name>
- <structure>Масло</structure>
- <preparation>1. Форму</preparation>
- <advice>Голубику можно</advice>
- <adress>десерт1.jpg</adress>
- </element>
- <element number="2">
- <category>Десерты</category>
- <name>Пирог «Зебра»</name>
- <structure>Сахар</structure>
- <preparation>1. Яйца</preparation>
- <advice>шоколад</advice>
- <adress>десерт2.jpg</adress>
- </element>
- </head>
Решение задачи: «Как внести изменения в XML файл»
textual
Листинг программы
- using System;
- using System.Xml;
- using System.Xml.XPath;
- public class Example
- {
- public static void Main()
- {
- var document = new XmlDocument();
- document.Load("C:/Users/Admin/Documents/Visual Studio 2012/Projects/ConsoleApplication2/XMLFile1.xml"); //тут наш xml файл, созданный через visual studio
- //Меняем <>Это значение</>
- XPathNavigator navigator = document.CreateNavigator();
- foreach (XPathNavigator nav in navigator.Select("//element"))
- {
- string value = nav.GetAttribute("number", "");
- if (value == "1") //Если атрибут в нашем случае number = 1
- {
- nav.MoveToFollowing("category", ""); //Перемещаем к нужному нам элементу, поскольку без данной команды он останется на <element number="1">И изменит этот текст</element>
- nav.SetValue("Вкусные Десерты"); //Меняем <category>Это значение</category>
- //Далее аналогично
- nav.MoveToFollowing("advice", "");
- nav.SetValue("Можно все");
- }
- }
- //Меняем значение атрибута <element number = "Меняем это значение"></element>
- XmlNodeList nodeList = document.GetElementsByTagName("element");
- foreach (XmlNode item in nodeList)
- {
- if (item.Attributes["number"].Value == "2") //Если <element number="Равен двум">
- {
- item.Attributes["number"].Value = "7"; //Тогда меняем его на 7
- }
- }
- document.Save("1234.xml");
- Console.ReadKey();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д