日期:2014-05-17  浏览次数:20799 次

一个简单的XML操作!!!却出现无法理解的问题!!!大侠们进来看看!!!!!
本帖最后由 weizhuangwen 于 2013-07-29 16:06:38 编辑

int a=0;
XmlDocument xml =new XmlDocument();
xml.Load("123.xml");
foreach (XmlNode Node in xml.DocumentElement.ChildNodes)
{
a++;
xml.DocumentElement.RemoveChild(Node);
xml.Save("123.xml");
}
//int a是我为了大家明白问题,所以加进去的。
//执行这段代码后,本来xml.DocumentElement.ChildNodes集合是10个的
//但是一旦xml.Save("123.xml")保存后,就直接退出循环了,也就是a=1,就结束了。
//还有后面9次循环不执行了。

问题是:理论上为什么会这样?

------解决方案--------------------
建议楼主不要用foreach 语句,使用for吧