Написать функцию удаления веток из XML файла, или как построить выражение XPatch? - C#

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

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

Доброго времени суток, пытаюсь написать функцию удаления веток из XML файла, необходимо удалить все ветви control содержащие атрибут tip="0". Пример XML:
<?xml version="1.0" encoding="UTF-8"?>
<metaForm>
         <settings>
           ...
         </settings>
         <title>
          ...
         </title>
         <sections>
            ...
         </sections>
         <controls>
               control name="Имя" tip="1" precision="0"  id="2"/>
               control name="Имя" tip="6" precision="0"  id="15"/>
               control name="Имя" tip="0" precision="0"  id="9"/>
               control name="Имя" tip="12" precision="0"  id="8"/>
               control name="Имя" tip="0" precision="0"  id="3"/>   
         </controls>
</metaForm>
Я пытаюсь удалить эти ветви так:
string path = @"С:\Test\Test.xml";
            int tip = 0;
            XmlDocument doc = new XmlDocument();
            doc.Load(path);
            XmlNodeList nodeList;
            XmlNode root = doc.DocumentElement;
            nodeList = root.SelectNodes(String.Format("control[ tip='{0}']",
                tip));
 foreach (XmlNode x in nodeList) 
            {
                XmlNode outer = x.ParentNode;
                outer.RemoveChild(x);
            }
doc.Save(path);
К сожалению nodeList всегда остается пустым скорее всего из за неправильного XPatch. Пожалуйста, подскажите в чем ошибка.

Решение задачи: «Написать функцию удаления веток из XML файла, или как построить выражение XPatch?»

textual
Листинг программы
 string str = String.Format("//control[@tip='{0}']", tip);

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


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

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

12   голосов , оценка 4.333 из 5
Похожие ответы