-1

ノードの膨大なコレクションを含む xmldocument があります。xmldocument は文字列変数からロードされます。xpath を使用してノード コレクションを取得しようとしています。私の問題は、デバッグなしでアプリを実行すると、コレクションにノードがほとんどない (約 5 または 6) ことですが、デバッグしてノード コレクションの行で F11 キーを押すと、その時点で一時停止した時間に基づいて異なる数のノードが取得されます。 . 何が起こっているのかわかりません。それはメモリ処理のためですか?または私は何か間違ったことをしていますか。(注: foreach ループ内のコレクションにある DOM からノードを削除しています)

何か案が?

戻るときに一時停止すると、コレクションには 6 つのノードしかありません。

foreach で一時停止すると、コレクションには 556 個のノードがあります

4

1 に答える 1

0

実装はXmlNodeList遅延して構築される可能性があります。また、コレクションを繰り返し処理しながらドキュメントを操作すると、コレクションが変更される可能性があります。したがって、通常、DOMXmlNodeListで見つかったノードを削除する場合は、逆方向に実行しますfor (int i = lstDel.Count - 1; i >= 0; i--) { lstDel[i].ParentNode.RemoveChild(lstDel[i]); }

それでも問題が解決しない場合は、問題を再現できるようにコード サンプルを投稿することを検討してください。スクリーンショットだけでは何が起こっているのかわかりません。

于 2013-01-02T09:35:52.903 に答える