Pull to refresh

Comments 5

В место SimpleXml лучше использовать XmlReader.

SimpleXml загружает всё в память.

XmlReader читает xml блоками и не важно сколько xml весит. Я парсил xml и по 3гб и общее потребление было 20мб на скрипт.

Я именно его и использую. Чуть ниже

Я решил применить «гибридный» подход. Читать .xml файл с помощью класса XMLReader, затем нужный узел преобразовывать в класс SimpleXMLElement и работать с его атрибутами. Благо простота дерева в файлах выгрузки позволяет сделать это с минимумом усилий.

Есть готовое решение которе справляется с задачей лучше:

https://github.com/liquetsoft/fias-component базовый компонент, на его основе есть библиотеки для работы с базой ФИАС в формате ГАР для рахных фреймворков итд. Например для LaravelSymfony или для импорта сразу в Elasticsearch.

Спасибо, интересно! Мне бы пораньше Ваш комментарий прочитать :)

Sign up to leave a comment.

Articles