繁体   English   中英

从根元素c#中删除xml文件中的所有元素

[英]removing all elements from xml file except root element c#

我有一个xml文件

<Abc> 
  <image filename="1.jpg" heading="1.jpg" />
  <image filename="10.jpg" heading="10.jpg" />
  <image filename="11.jpg" heading="11.jpg" />
  <image filename="2.jpg" heading="2.jpg" />
  <image filename="3.jpg" heading="3.jpg" />
</Abc>

我想删除除root元素之外的所有元素。 怎么做到这一点。请帮帮我。

XmlDocument doc = new XmlDocument();
doc.Load("filename.xml");
doc.DocumentElement.RemoveAll();
string result = doc.OuterXml;

但是,如果您知道根节点名称,则加载XML并删除所有元素毫无意义。 在这种情况下,只需返回新的XML:

string newXml = "<rootName/>";
    XmlDocument doc = new XmlDocument();
    doc.Load(path);
    doc.DocumentElement.RemoveAll();
    doc.Save(path);

或者保留根目录上的属性:

    XmlNode lastChild;
    while((lastChild = root.LastChild) != null) {
        root.RemoveChild(lastChild);
    }
 var xml = XElement.Load("xmlfile1.xml");
 xml.Descendants.Remove();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM