2011-12-21 4 views
-6

트리 뷰에서 많은 노드에 대해 아래 코드를 실행할 때 메모리 부족 예외가 발생합니다. vConditionPaths.InputLogXmlPath는 XML의 경로이다C#에서 xml을로드 할 때 OutOfMemory 예외가 발생했습니다.

_inputItenLogDoc
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을위한 새로운 색소폰 파서를 알고 있지 않을까요? 나는 매우 흥미 롭다 :-)

관련 문제