Я пытаюсь прочитать большой файл XML (~ 400 Мб), и вот мой код -
$reader = new \XMLReader();
$reader->open( 'big-ass-xml-file.xml');
while($reader->read()) {
if($reader->nodeType == \XMLReader::ELEMENT && $reader->name == 'APPLICATION' ) {
$application = new \SimpleXMLElement($reader->readOuterXml
$my_array[] = [$application->title->__toString()];
}
}
$reader->close();
Проблема в том, что читатель не выходит из программы после чтения файла. Он просто продолжит чтение файла.
Я не смог точно определить проблему. Буду очень признателен, если кто-то может предложить руку помощи.
Обновление: добавление примера подачи работы -
<Jobs>
<APPLICATION>
<TITLE>This is a title</TITLE>
<SUMMARY>Summary of the application</SUMMARY>
....
</APPLICATION>
<APPLICATION>
<TITLE>Another Title</TITLE>
<SUMMARY>Another summary</SUMMARY>
</APPLICATION>