在下面的代码中,我使用 foreach 循环检查节点列表中的每个节点并删除其中的一些。在我删除一个节点后,foreach 循环抛出以下错误:“元素列表已更改。枚举操作无法继续”。我怎样才能避免它?
public static XmlNodeList Scan(XmlNodeList nodeList)
{
string elementValue = null;
foreach (XmlNode xmlElement in nodeList)
{
elementValue = xmlElement.InnerText;
if (elementValue.Length >= 6 && elementValue.Substring(0, 3) == "999")
{
continue;
}
else
{
XmlNode node = xmlElement.ParentNode;
node.RemoveChild(xmlElement);
}
}
return nodeList;
}