我有以下代碼:類型 'System.OutOfMemoryException的' 未處理的異常發生在system.xml.dll的
XmlTextReader DBLPReader = new XmlTextReader("dblp.xml");
// Load the source of the XML file into an XmlDocument
XmlDocument DBLPDoc = new XmlDocument();
// Load the source XML file into the first document
DBLPDoc.Load(DBLPReader);
// Close the reader
DBLPReader.Close();`
其中dblp
有大約800 MB。
我,說:「類型‘System.OutOfMemoryException的’未處理的異常發生在system.xml.dll的」
什麼是在這種情況下,解決方案的錯誤?
你的意思是說SAX比DOM好。我在C#中工作 – Dena 2011-03-22 06:21:20
SAX本身並不一定比DOM好。在使用一種樣式的XML解析方法時,存在權衡。也就是說,SAX風格的解析器往往更快,更輕量級(如果使用起來更復雜一點)。 – paulcam 2011-03-22 07:59:32
SAX在這種情況下可能會更好,因爲您可以避免DOM的所有內存開銷(這顯然是問題),並僅存儲需要從文件中提取的數據。 – Gabe 2011-03-22 09:07:59