Как внести изменения в XML файл - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день, не так давно начал изучать C# и возникла проблема при изменении xml файла
Листинг программы
  1. <?xml version="1.0" encoding="UTF-16"?>
  2. <head>
  3. <element number="1">
  4. <category>Десерты</category>
  5. <name>Маффины с голубикой</name>
  6. <structure>Масло</structure>
  7. <preparation>1. Форму</preparation>
  8. <advice>Голубику можно</advice>
  9. <adress>десерт1.jpg</adress>
  10. </element>
  11. <element number="2">
  12. <category>Десерты</category>
  13. <name>Пирог «Зебра»</name>
  14. <structure>Сахар</structure>
  15. <preparation>1. Яйца</preparation>
  16. <advice>шоколад</advice>
  17. <adress>десерт2.jpg</adress>
  18. </element>
  19. </head>
подскажите, как изменить мой xml файл

Решение задачи: «Как внести изменения в XML файл»

textual
Листинг программы
  1. using System;
  2. using System.Xml;
  3. using System.Xml.XPath;
  4.  
  5.  
  6. public class Example
  7. {
  8.     public static void Main()
  9.     {
  10.  
  11.         var document = new XmlDocument();
  12.         document.Load("C:/Users/Admin/Documents/Visual Studio 2012/Projects/ConsoleApplication2/XMLFile1.xml"); //тут наш xml файл, созданный через visual studio
  13.  
  14.  
  15.         //Меняем <>Это значение</>
  16.         XPathNavigator navigator = document.CreateNavigator();
  17.  
  18.         foreach (XPathNavigator nav in navigator.Select("//element"))
  19.         {
  20.             string value = nav.GetAttribute("number", "");
  21.             if (value == "1")                                           //Если атрибут в нашем случае number = 1
  22.             {
  23.                 nav.MoveToFollowing("category", ""); //Перемещаем к нужному нам элементу, поскольку без данной команды он останется на <element number="1">И изменит этот текст</element>
  24.                 nav.SetValue("Вкусные Десерты");  //Меняем <category>Это значение</category>
  25.                 //Далее аналогично
  26.                 nav.MoveToFollowing("advice", "");
  27.                 nav.SetValue("Можно все");
  28.             }
  29.  
  30.         }
  31.  
  32.         //Меняем значение атрибута <element number = "Меняем это значение"></element>
  33.         XmlNodeList nodeList = document.GetElementsByTagName("element");
  34.  
  35.         foreach (XmlNode item in nodeList)
  36.         {
  37.             if (item.Attributes["number"].Value == "2") //Если <element number="Равен двум">
  38.             {
  39.                 item.Attributes["number"].Value = "7"; //Тогда меняем его на 7
  40.             }
  41.  
  42.         }
  43.                    
  44.  
  45.  
  46.        document.Save("1234.xml");
  47.  
  48.  
  49.        Console.ReadKey();
  50.     }
  51. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы