我正在尝试读取一个大的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>