yurik_maz
@yurik_maz

Как переместиться к нужному елементу по индексу в большом xml файле?

Есть xml файлы больше 2 гиг, есть примерный скрипт для обработки, типа:
$reader = new XMLReader();
$reader->open($file);
while ($reader->read() && $reader->name !== 'item');
while ($reader->name === 'item') {
       /// обрабатываем данные и идем к следующему....

       $reader->next('item');
}
$reader->close();

Вопрос: как быстро загнать курсор, для примера, на 125 000 елемент item'а и начать обработку с данной позиции? Вариант прогона в цикле с методом ридера next('item') пока не будет 125 000 позиция не подходит, так как может занять лишнее время, от минуты и больше...
Есть ли варианты другой реализации?
Спасибо.
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 1
@WQP
Изначально разбивать файл. Подождать один раз, но работать без задержек

file.xml -> _file(0-10000).xml ... _file(115000-125000).xml
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы