请教个问题
XmlDocument xmldocument = new XmlDocument();
xmldocument.Load(Server.MapPath("~/js/xmlfile.xml"));//加载该xml文档;
XmlNodeList nodelist = xmldocument.GetElementsByTagName("time");
XmlNode nodepar = ((XmlNode)nodelist[1]);
//XmlNodeList nodelchildlist=((XmlNode)nodelist[1]).ChildNodes;
XmlNodeList nodelchildlist = ((XmlNode)nodelist[1]).SelectNodes("timechild[@timechild=2]");
foreach (XmlNode node in nodelchildlist)
{
XmlElement elem = (XmlElement)node;
if (elem.GetAttribute("timechild")=="2")
{
nodepar.RemoveChild(node);
}
}
xmldocument.Save(Server.MapPath("~/js/xmlfile.xml"));//加载这个xml;
}
为什么循环移除的时候:
//XmlNodeList nodelchildlist=((XmlNode)nodelist[1]).ChildNodes; 用这个不行,
用下面的可以啊?
XmlNodeList nodelchildlist = ((XmlNode)nodelist[1]).SelectNodes("timechild[@timechild=2]");
当用XmlNodeList nodelchildlist=((XmlNode)nodelist[1]).ChildNodes;循环移除的话 下一次循环就更改了list 而下面的不会
到底是为什么啊