2011-12-21 7 views
-6

ツリービューの多くのノードで以下のコードを実行すると、メモリ不足例外が発生します。 vConditionPaths.InputLogXmlPathは、XMLのパスと_inputItenLogDocあるC#でXMLをロードする際のOutOfMemory例外

XmlTextReader reader = new XmlTextReader(vConditionPaths.InputLogXmlPath); 
_inputItenLogDoc.Load(reader); 
reader.Close(); 

は、クラス内のローカル変数として宣言されXmlDocumentです。

私はあなたのxmlファイルは、XmlTextReaderクラスで処理する大にあると仮定しています

+0

修正しますか?そこにはいくつのノードがありますか。 32または64ビット? – TomTom

+0

'OutOfMemoryException'はかなり自明です。例外がスローされる行は何ですか? –

答えて

1

助けてください。 (XmlTextReaderはxmlファイル全体を一度に読み込もうとするため)

逐次的な解析を行うSAXパーサーを試すことができます。 http://en.wikipedia.org/wiki/Simple_API_for_XML

は、C#のソリューションをhttp://saxdotnet.sourceforge.net/

を参照してくださいを参照してください。私の知る限り、ネイティブ.netフレームワークサックスパーサーソリューションはありません。多分誰かが.net用の新しいサックスパーサーを知っていますか?私は非常に興味があります:-)

関連する問題