Questo dovrebbe fare il trucco per voi:
for (int i = nodeList.Count - 1; i >= 0; i--)
{
nodeList[i].ParentNode.RemoveChild(nodeList[i]);
}
Se si esegue un ciclo utilizzando un normale ciclo for, e anello su di esso "a ritroso", è possibile rimuovere gli elementi, come si va.
Aggiornamento: ecco un esempio completo, incluso il caricamento di un file XML, individuando i nodi, eliminarli e salvare il file:
XmlDocument doc = new XmlDocument();
doc.Load(fileName);
XmlNodeList nodes = doc.SelectNodes("some-xpath-query");
for (int i = nodes.Count - 1; i >= 0; i--)
{
nodes[i].ParentNode.RemoveChild(nodes[i]);
}
doc.Save(fileName);
fonte
2009-05-17 18:29:14
Qual è il problema? –