php simplexml_load_file中的执行时间问题

时间:2016-02-28 11:49:06

标签: php xml xml-parsing execution-time

我有一个xml个文件,其中包含超过5000个产品(商品)。它实际上是一个大文件,解析该文件的执行时间超过40秒。

我的PHP代码:

ini_set('max_execution_time', 300);
$xml = simplexml_load_file("wwww.example.com");
print_r($xml);

有没有解决方案?例如只加载文件的一部分?

2 个答案:

答案 0 :(得分:1)

尝试使用simplexml_load_file标志调用LIBXML_COMPACT函数:

$xml = simplexml_load_file("wwww.example.com",'SimpleXMLElement',LIBXML_COMPACT);

答案 1 :(得分:1)

XMLReader是另一种解决方案,如SAX(或expat),它允许您以递增方式读取XML文件,并且应该比前者更容易使用。

如果您不需要解析整个文件,它可以使事情大大加快,并且当您找到所需内容时可以停止。

如果您仍然需要使用它解析整个文件,它将无法提供加速。