OutOfMemoryException загрузка большого файла XML с помощью F# TypeProvider

Для небольшого проекта я пытаюсь использовать провайдеров F# Type в решении Visual Studio 2013.

В частности, я пытаюсь загрузить файл XML, который составляет примерно 1,5 ГБ, с FSharp.Data.XmlProvider, После того, как программа использовала около 3 ГБ оперативной памяти, я получаю System.OutOfMemoryException,

Я попытался установить все параметры, которые я могу найти в настройках проекта, на x64 и отключил "предпочесть 32-битный"

FSharp.Data.CsvProvider имеет опцию кэширования, которая позволяет обрабатывать большие наборы данных. Однако я не нашел подобного варианта для XmlProvider,

Кто-нибудь имел успех загрузки больших файлов XML с XmlProvider?

1 ответ

Решение

У вас будет та же проблема с использованием простого XElement для файла такого большого размера. Это не поддерживаемый сценарий, для этого вам придется использовать SAX-подобный API, такой как XmlReader.

Другие вопросы по тегам