Редактирование данных в xml файле - C#
Формулировка задачи:
Доброго времени суток. Нужно редактировать данные, но я явно что-то делаю не так, так как порчу файл. В чём проблема?
Информацию нашёл тут, но как-то видно неправильно юзаю... В чём фишка?
Заранее спасибо.
<?xml version="1.0" encoding="utf-8"?> <root> <element id=""> <localization lang="ru" tooltip="" text="" /> <localization lang="en" tooltip="" text="" /> </element> <element id="2"> <localization lang="ru" tooltip="Куб внутри куба №2" text="" /> </element> <element id="5"> <localization lang="ru" tooltip="no tooltip" text="" /> </element> <element id="7"> <localization lang="ru" tooltip="сфера №2 в кубе №2" text="" /> </element> <element id="6"> <localization lang="ru" tooltip="сфера №1 в кубе №2" text="" /> </element> <element id="3"> <localization lang="ru" tooltip="куб №1" text="" /> </element> <element id="4"> <localization lang="ru" tooltip="Цилиндр" text="" /> </element> <element id="1"> <localization lang="ru" tooltip="Куб №2" text="" /> </element> </root>
//Измененние элемента public void EditElementXmlToolTip(string ID, string toolTipText, string local/**, string Xmlpath **/) { var document = new XmlDocument(); //Меняем значение атрибута <element number = "Меняем это значение"></element> XmlNodeList nodeList = document.GetElementsByTagName("element"); foreach (XmlNode item in nodeList) { if (item.Attributes["id"].Value == ID) //Если <element id="Равен ..."> { item.Attributes["lang"].Value = local; item.Attributes["tooltip"].Value = toolTipText; } } TooltipManager qwer = new TooltipManager (); SaveXml (qwer.XmlPath); }
Решение задачи: «Редактирование данных в xml файле»
textual
Листинг программы
string xmlPath = @"c:\path\to\file.xml"; string id="1", toolTipText="newTooltip", local = "newLang"; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlPath); XmlNodeList localizationNodes = xmlDoc.SelectNodes("/root/element[@id='" + id + "']/localization"); foreach (XmlElement localizationElement in localizationNodes) { localizationElement.Attributes["lang"].Value = local; localizationElement.Attributes["tooltip"].Value = toolTipText; } xmlDoc.Save(xmlPath);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д