Flex 4 и большие XML-файлы - PullRequest
       10

Flex 4 и большие XML-файлы

1 голос
/ 29 августа 2011

Есть ли у кого-нибудь опыт работы с большими локальными файлами XML? Скажем, 100.000 строк.

Насколько это возможно, когда Flex 4.5 работает в среде AIR?

Спасибо.

Ответы [ 2 ]

1 голос
/ 29 августа 2011

Если вам не нужен полноценный синтаксис XML для анализа ваших файлов, вы можете подумать о создании собственного синтаксического анализатора, вроде SAX вместо модели DOM по умолчанию. Откройте этот файл, прочитайте построчно и передайте информацию в SQLite (многие вставки будут более или менее быстрыми для неиндексированной таблицы.) Это позволит вам выполнять работу небольшими порциями без зависания графического интерфейса (хотя это может быть важно для разового преобразования.)

1 голос
/ 29 августа 2011

Ответ - в теории это сработает. Но это будет работать очень медленно. e4x будет проходить, но нет ничего мудрого API, который сообщит вам, когда завершится операция с дочерними элементами root. Это создаст впечатление, что ваше приложение зависло. Раньше было ограничение в 4ГБ, но я считаю, что все изменилось. Я не уверен, что AIR настроен на разницу между 32-битными и 64-битными системами. В случае 32-разрядной системы существует ограничение в 2 ГБ, которое при сбое вызывает flash.errors.MemoryError во время выполнения. 100 000 строк XML не так уж и плохи, но они могут быть довольно раздутыми, если есть всевозможные пространства имен, массивные текстовые объекты и открывающие / закрывающие теги.

...