私はこのコードを持っています:
XmlDocument doc = new XmlDocument();
doc.Load("file.xml");
XmlNodeList nodes = doc.SelectNodes("//myElement"); // Line 4
for (int i = 0; i < 5; i++) // Line 6
{
nodes[i].ParentNode.RemoveChild(nodes[i]);
}
doc.Save("output.xml");
4行目にブレークポイントを設定すると、プログラムは正常に機能します。ただし、それを超える行(6など)にブレークポイントを設定すると、object reference not set to instance of object
ノードには1つのアイテムしかないため、エラーが発生します。
ブレークポイントなしで実行するたびにプログラムがクラッシュします。ただし、4行目にブレークポイントを設定すると、ノードの数は適切に85
なり、すべてが完全に機能します。
Thread.Sleep(10000)
4行目の前後で行っても、ノードが1つしか見つからないため、プログラムがクラッシュします。
なぜこれなのか誰か知っていますか?