如何删除的XmlNodeList一个XmlNode [英] How to remove an XmlNode from XmlNodeList
本文介绍了如何删除的XmlNodeList一个XmlNode的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要删除基于条件的一个XmlNode。怎么办呢?
的foreach(XmlNode的drawNode在节点列表)
{
//基于一个条件
drawNode.RemoveAll(); //需要删除整个节点}
解决方案
这应该做的伎俩为您提供:
的for(int i = nodeList.Count - 1; I> = 0;我 - )
{
节点列表[I] .ParentNode.RemoveChild(节点列表[我]);
}
如果您使用循环定期for循环和循环了它倒退,你可以为你去删除项目。
更新:这里是一个完整的例子,包括加载XML文件,查找节点,删除它们并保存文件:
XmlDocument的DOC =新的XmlDocument();
doc.Load(文件名);
XmlNodeList中的节点= doc.SelectNodes(一些-的XPath查询);
的for(int i = nodes.Count - 1; I> = 0;我 - )
{
节点[I] .ParentNode.RemoveChild(节点[I]);
}
doc.Save(文件名);
I need to remove an XmlNode based on a condition. How to do it?
foreach (XmlNode drawNode in nodeList)
{
//Based on a condition
drawNode.RemoveAll(); //need to remove the entire node
}
解决方案
This should do the trick for you:
for (int i = nodeList.Count - 1; i >= 0; i--)
{
nodeList[i].ParentNode.RemoveChild(nodeList[i]);
}
If you loop using a regular for-loop, and loop over it "backwards" you can remove items as you go.
Update: here is a full example, including loading an xml file, locating nodes, deleting them and saving the file:
XmlDocument doc = new XmlDocument();
doc.Load(fileName);
XmlNodeList nodes = doc.SelectNodes("some-xpath-query");
for (int i = nodes.Count - 1; i >= 0; i--)
{
nodes[i].ParentNode.RemoveChild(nodes[i]);
}
doc.Save(fileName);
这篇关于如何删除的XmlNodeList一个XmlNode的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文