xmlReader不会退出读取大文件

时间:2018-08-31 11:05:35

标签: php xml simplexml xmlreader

我正在尝试读取一个大的XML文件(〜400 Mb),这是我的代码-

    $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>

0 个答案:

没有答案