синтаксический анализатор в стиле SAX является наиболее экономичным вариантом:
http://php.net/xml_parse
он будет выполнять обратные вызовы $ start_element_handler и $ end_element_handler при каждом открытии тега элементаили закрыт, вместо того, чтобы хранить весь документ в памяти.
, но все равно 50 МБ это не много, возможно, ваш провайдер может увеличить лимит.
php_value memory_limit 100M
в .htaccess / httpd.conf или установите его в php.ini.