我正在集成第三方API,每次搜索返回大约20MB的数据。它返回约500项。这对我来说太多了。所以,我想只使用前50个项目。
我的尝试:
$xml = simplexml_load_string($apiRequest);
$object = json_decode(json_encode($xml));
$items = array_slice($object, 0, 50);
API的近似响应时间约为50秒(当我在邮递员身上测试时)。收到响应后,将其转换为std对象并进行其他计算会减慢很多。所以,我想加快速度。我想分割收到前50个项目的XML响应,然后将其转换为std对象。有什么办法吗?其他建议受到高度赞赏。
答案 0 :(得分:-1)
如果我要解析如此庞大的XML响应,我会使用流解析器。
我没有经验,但快速谷歌搜索指向https://github.com/prewk/xml-string-streamer。
试一试,如果您有特定问题,我们可以尝试解决这个问题。