xmlReader не прекратит чтение большого файла - PullRequest
0 голосов
/ 31 августа 2018

Я пытаюсь прочитать большой файл 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>
...