как удалить xmlnode внутри цикла foreach?

В следующем коде я использую цикл 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;
        }

Ответы на вопрос(4)

Ваш ответ на вопрос