【发布时间】:2013-08-19 13:35:41
【问题描述】:
有一个非常大的 xml 数据馈送,我正在 PHP 中解析,所以我使用 xmlReader,因为 simpleXML 每次都失败 - 只是锁定并停止。即使使用 xmlReader/simpleXML 混合代码,它仍然会失败,所以我在 xmlReader 中完成所有操作 - 不幸的是。
所以,我对在哪里打开和关闭与我的循环相关的 xmlReader 感到困惑。我需要尽可能好的内存管理。
****Open reader Here????
Foreach ($modelArray as $model)// there are 10000 models
****OR open reader Here???
if(!$reader->open($request_url)){
echo "Error";
break;
}
while ($reader->readToNext('Product'){ // There are 500 Products per model
//do my node processing here. Grab nodes and add to mysql DB
}
return array('msg' => $msg,'addedProdsPerManu' =>$counter_addedProdsManu);
****Close Reader HERE?
}//close foreach
****OR Close Reader HERE?
非常感谢任何关于最有效内存利用的建议,因此该程序将一直运行。
谢谢
【问题讨论】: