解析XML文件超时
问题描述:
解析1986年的XML文件时出现问题..它给我执行超时!解析XML文件超时
这里是我的代码:
$XML_File = simplexml_load_file("EXTERNAL URL");
$projects = $XML_File->channel->item;
$i = 0;
while($projects)
{
$title = $projects[$i]->title;
$link = $projects[$i]->link;
$description = $projects[$i]->description;
$category = $projects[$i]->category;
$i++;
}
当我运行它,它超时后30秒,不返回任何结果!
当我改变了一个for循环..最大4它工作正常..有没有办法解析一个大文件?或者我应该转而创建一个桌面应用程序?
答
$XML_File = simplexml_load_file("EXTERNAL URL");
$projects = $XML_File->channel->item;
$i = 0;
while($projects)
{
$title = $projects[$i]->title;
$link = $projects[$i]->link;
$description = $projects[$i]->description;
$category = $projects[$i]->category;
$i++;
}
我不认为这会永远完成。你只是检查是否存在$projects
。
也许这样的事情会工作:
while(isset($projects[$i]))
....
取决于你可以尝试使用'的ini_set在服务器上()'和延长执行时间'的ini_set( '的max_execution_time',180)'。您也可以首先获取文件并将其保存在光盘上并从中解析出来,这样可以节省从网络中检索的几秒钟时间。 – Zefiryn