Как стать автором
Поиск
Написать публикацию
Обновить

Импорт базы ГАР для нормализации собственной адресной базы в Laravel 10. Часть II, пишем консольное приложение

Уровень сложностиПростой
Время на прочтение39 мин
Количество просмотров5.3K
Всего голосов 3: ↑2 и ↓1+1
Комментарии5

Комментарии 5

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

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

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

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

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

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

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

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации