Змінюй хід війни! Допомагай ЗСУ!
  • Знижка на баннерну рекламу 30%! Банер на всіх сторінках сайту, в мобільній та десктопній версії за 14 тис. грн на місяць. Статистика сайту. Контакт: kharkovforum.com@gmail.com

PHP чтение XML

  • Автор теми Автор теми solor2001
  • Дата створення Дата створення
Статус: Офлайн
Реєстрація: 15.09.2006
Повідом.: 434
PHP чтение XML

Доброго времени суток, ХФ!
Поделитесь опытом - требуется прочитать скриптом PHP данные из файла XML размером >100Mb (это >1M записей).
Старый добрый SimpleXML удобен, но годится только для мелких файлов, на больших он сжирает всю оперативку и получаем memory exhausted. На текущий момент при чтении 250k записей (т.е. меньше четверти необходимого) потребление ОЗУ ~500Mb.
Говорят XMLReader скромный в аппетитах, но он показался мне жутко неудобным, документации мало и примеров толковых не нашел.
 
Говорят XMLReader скромный в аппетитах, но он показался мне жутко неудобным, документации мало и примеров толковых не нашел.

а хочется и рыбку съесть и кое-куда сесть? удобно тока в бане писать.
то Вы еще SAX-парсеры да под C++ не застали... вот то был настоящий БДСМ для истинных ценителей.

хватит ныть, все там в поряде с документацией и примерами.
 
... все там в поряде с документацией и примерами.
Относительно в порядке, по simple в разы больше обсуждений и родной мануал более предметный.
Ладно, в очередной раз понял что от хф толку мало... думал, может кто с обертками xmlreader, облегчающими жизнь, имел дело...
 
Относительно в порядке, по simple в разы больше обсуждений и родной мануал более предметный.
Ладно, в очередной раз понял что от хф толку мало... думал, может кто с обертками xmlreader, облегчающими жизнь, имел дело...

конечно же ХФ виновато!
да какие там обертки, XML Reader сам по себе обертка на обертке.

см. примеры, где они читают XML в ассоциативный массив и лепи по образу и подобию.
 
И что же в нем такого ужасного?

сакс невозможно повернуть назаааад
и ксирсиис ни на миг не остановииишь...

бросьте, вон ТС намного более поворотливую машинку, которая хотя бы умеет ездить назад и не рвет содержимое тегов, и то назвал "неудобной", а Вы такое...

В том числе SAX по частоте никак не реже DOM.
лапша такая лапша



совсем забыл...
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
 
Останнє редагування:
Эта что ли "поворотливая машинка", что на 250К XML жрет полгига ОЗУ? Вполне в духе пхп, конечно.

нет, другая. научитесь читать перед тем как писать.

Кроме того, SAX никак не "рвет содержимое тегов", это Вас или кто-то обманул, или неправильно объяснил, или Вы неправильно поняли. Он всего лишь дергает callback методы при соответствующих событиях. Но в любом случае Вы никогда напрямую SAX парсером не пользовались, иначе не несли бы подобную дичь.

рвет, рвет. поставьте в тэг что-нибудь тиа < и наблюдайте как содержимое будет передано в обработчик по частям. а ты значь сиди в обработчике накапливай.
в любом случае Вы никогда напрямую SAX парсером не пользовались, иначе не несли бы подобную дичь.
 
Назад
Зверху Знизу