Самое простое после использования готового XML-парсера - написать такой парсер самому. Построчно читать файл, структура очень "жесткая", можно справиться даже через substr(), а с preg_match() - так вообще как два пальца... Построчная обработка не займёт память, просто будет много (370 тысяч) INSERT-запросов к базе данных. Или займет, если сделать накопление в буффере по 2-3-5-10-100-1000-10000 запросов...