从XML文档中删除XML节点

4

我有一个XMLDocument文档,如下:

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

我只想要文件夹,不需要文件。那么,如何在c#中删除/操作XML文档以删除/移除文档中的所有元素?

谢谢!

2个回答

5
如果您能使用 XDocument 和 LINQ,那么您就可以做到。
XDocument doc = XDocument.Load(filename) // or XDocument.Parse(string)
doc.Root.Descendants().Where(e => e.Name == "File").Remove();

--编辑了一个错误


4
XMLDocument中删除节点(有关从XDocument中删除节点的方法,请参见Jens的答案)
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为空,请注意可能出现空指针异常。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接