从xml文档中删除xml节点

时间:2010-04-15 15:03:28

标签: c# xml dom

我有一个XMLDocument,如:

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

我只想要文件夹,而不是文件。那么,如何删除/操作c#中的XML Document来删除/删除文档中的所有元素?

谢谢!

2 个答案:

答案 0 :(得分:4)

如果您可以使用XDocument和LINQ,则可以

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

- 编辑出错误

答案 1 :(得分:3)

XMLDocument中删除节点(请参阅Jens'的删除节点表单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,请注意可能的null异常。