Список элементов изменился. Операция перечисления не удалось продолжить.
Привет,
Я пытаюсь удалить дочерние узлы узла. Во время выполнения цикла foreach у меня возникает ошибка- "список элементов изменился. Операция перечисления не удалось продолжить." Я думаю, что из-за того, что я изменяю XMLfile, у меня есть эта ошибка, но я не знаю, как ее исправить. Может ли кто - нибудь исправить мой код?
XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load(@"C:\Users\Orcun Iyigun\Desktop\Projects\Rules.xml"); XmlNodeList ratingNodes = xmlDocument.GetElementsByTagName("Rule/Rating"); XmlNodeList mailtoNodes = xmlDocument.GetElementsByTagName("Rule/Mailto"); XmlNodeList ruleNodes = xmlDocument.GetElementsByTagName("Rule"); foreach (ListViewItem item in lvRules.Items) { if (item.Selected) { string ratingVal = item.SubItems[0].Text; string mailtoVal = item.SubItems[1].Text; string ratmailNode = ratingVal + mailtoVal; foreach (XmlNode deleteXMLnode in ruleNodes) { if (deleteXMLnode.InnerText == ratmailNode) { deleteXMLnode.ParentNode.RemoveChild(deleteXMLnode); } } lvRules.Items.Remove(item); } } xmlDocument.Save(@"C:\Users\Orcun Iyigun\Desktop\Projects\Rules.xml");