Удаление узла из XML документа - C#

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

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

Никак не получается удалить элемент по заданному атрибуту. Пробовала делать так:
     foreach (XElement xNode in xDoc.Root.Nodes())
        {
            if (xNode.Attribute("Город").Value == SelectSity)
            {
                xNode.Remove();
            }
        }
Но несмотря на подключенную библиотеку System.Xml.Linq, не воспринимается Root. Пробовала так:
XmlNode node = root.SelectSingleNode("Заказ[@Город='" + SelectSity + "']");
Или:
XmlNode node = root.SelectSingleNode(String.Format("Заказ[@Город='{0}']", SelectSity));
И потом, соответственно:
root.RemoveChild(node);
И постоянно выдает исключение. Работает вот так:
XmlNode node = root.SelectSingleNode(String.Format("Заказ[@Город='Иркутск']"));
Но мне нужен изменяющийся в зависимости от выбора юзера атрибут. Подскажите пожалуйста, что сделать.

Решение задачи: «Удаление узла из XML документа»

textual
Листинг программы
 foreach (var xNode in xmlDoc.Descendants("Заказ"))

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


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

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

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