удалить узлы xml из документа xml - PullRequest
4 голосов
/ 15 апреля 2010

У меня есть XMLDocument вроде:

<Folder name="test">
         <Folder name="test2">
              <File>TestFile</File>
         </Folder>
 </Folder>

Я хочу только папки, а не файлы. Итак, как удалить / манипулировать XML-документом в c #, чтобы удалить / удалить ВСЕ элементы в документе?

Спасибо!

Ответы [ 2 ]

4 голосов
/ 15 апреля 2010

Если вы можете использовать XDocument и LINQ, вы можете сделать

XDocument doc = XDocument.Load(filename) // or XDocument.Parse(string)
doc.Root.Descendants().Where(e => e.Name == "File").Remove();

- исправлена ​​ошибка

3 голосов
/ 29 августа 2013

Чтобы удалить узел из XMLDocument (см. Ответ Дженса о форме удаления узла XDocument)

XmlDocument doc = XmlDocument.Load(filename); // or XmlDocument.LoadXml(string)
XmlNodeList nodes = doc.SelectNodes("//file");
foreach(XmlNode node in nodes) {
   node.ParentNode.RemoveChild(node);
}

Следите за возможным нулевым исключением, если node.ParentNode имеет значение null.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...