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.