0

我在解析 1986 行的 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 秒后超时,没有返回任何结果!!

当我将while更改为for循环时..最多4个它工作正常..有没有办法解析一个大文件?还是我应该转向创建桌面应用程序?

4

1 回答 1

2
$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]))
....
于 2012-09-15T15:03:15.170 回答