Произошло необработанное исключение типа «System.OutOfMemoryException» в System.Xml.dll - PullRequest
0 голосов
/ 22 марта 2011

У меня есть следующий код:

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 МБ.

Я получил сообщение об ошибке «Необработанное исключение типа« System.OutOfMemoryException »произошло в System.Xml.dll "

Какое решение в этом случае?

Ответы [ 3 ]

0 голосов
/ 22 марта 2011

Если вы собираетесь возиться с файлами XML такого размера, вам, вероятно, следует рассмотреть возможность использования System.Xml.XmlTextReader . Здесь есть список того, что вы получите здесь , и достойное руководство по его использованию здесь .

0 голосов
/ 26 августа 2015

Запустите на 64-битной машине и установите свойства сборки для платформы x64.

0 голосов
/ 22 марта 2011

В зависимости от того, что вы пытаетесь достичь, ваше решение может быть следующим:

  • Использовать SAX-парсер.
  • Использовать 64-битный компьютер.
  • Не пытайтесь загрузить такой большой файл.
  • Уменьшите файл (например, удалите пробелы или комментарии, сократите имена тегов).
  • Перехватите исключение и обработайте его правильно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...