我有一个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元素之外的所有元素。怎么做到这一点。请帮帮我。
答案 0 :(得分:3)
XmlDocument doc = new XmlDocument();
doc.Load("filename.xml");
doc.DocumentElement.RemoveAll();
string result = doc.OuterXml;
但是如果您知道根节点名称,则加载XML并删除所有元素毫无意义。在这种情况下,只需返回新的XML:
string newXml = "<rootName/>";
答案 1 :(得分:2)
XmlDocument doc = new XmlDocument();
doc.Load(path);
doc.DocumentElement.RemoveAll();
doc.Save(path);
或保留根目录上的属性:
XmlNode lastChild;
while((lastChild = root.LastChild) != null) {
root.RemoveChild(lastChild);
}
答案 2 :(得分:0)
var xml = XElement.Load("xmlfile1.xml");
xml.Descendants.Remove();