Как импортировать данные из больших файлов xml? Памяти нехватает на них?
Раньше в основном работали с поставщиками, у которых мало товаров и свойств и достаточно было при помощи XMLReader вычитвало всё подряд из файла xml рекурсивно и создавал ассоциативный массив, а потом уже обращался к этому массиву, но сейчас попался такой файл, где где всё считать в массив не получается- памяти нехвтает даже на сервере. файлы больше 100 мегабайт.
Какую либу выбрать чтоб удобно было
- по названию родительского тэга вытаскивать все записи последовательно.
Например, по тэгу "<Товары>" вытащить все записи "Товар", но не сразу, а один за другим, потому что их там десятки
тысяч.
Хотелось бы уметь делать с этим xml что угодно. влоть до того чтобы визуально видеть все его узлы и привязывать к ним через визуальный редактор соотвествующие настройки чтоб потом знать октуда что вытаскивать.
Или может на других языках программирование такое есть?
XMLReader ровно и предназначен для работы с большими XML. Проблема не в нем, а в попытке загрузить все нужные ноды в память - и здесь вас другой язык не сильно спасет - без вопросов какой нибудь язык сможет загрузить в память больше элементов, чем PHP, но все равно рано или поздно уткнется в память при n-количестве элементов. По этому берете XMLReader открываете файл идете по дереву - встретили нужный элемент, обработали и пошли дальше.