各検索で約20MBのデータを返すサードパーティのAPIを統合しています。それは約500項目を返します。これは私にはあまりにも多くのデータです。だから、私は最初の50項目を使用したいです。大きなxmlオブジェクトの最初のN要素を取得する
私の試み:(私は郵便配達で試験したとき)APIから
$xml = simplexml_load_string($apiRequest);
$object = json_decode(json_encode($xml));
$items = array_slice($object, 0, 50);
おおよその応答時間は約50秒です。応答を受け取った後、それをstdオブジェクトに変換して、他の計算を行うのが非常に遅くなります。だから、私はスピードアップしたい。最初の50項目を取得したXML応答を分割し、それを標準オブジェクトに変換したいと考えています。それを行う方法はありますか?その他の提案は非常に高く評価されています。
ほとんどのAPIでは、結果の数を制限するパラメータを追加できるため、変換時間を短縮するだけでなく、受信する時間も改善できます。 –
JSONにシリアル化してXMLを直接読み込まないようにしてください。 XMLReaderクラスを使用してみてください。これは、その大きなファイル用の現在の標準APIです。 – ThW
私はプロバイダ@lukegvと通信していますが、結果の数を制限することはできません。だから、私は問題に直面している – vijayrana