Ich integriere eine API von Drittanbietern, die etwa 20 MB Daten für jede Suche zurückgibt. Es gibt ungefähr 500 Artikel zurück. Das sind zu viele Daten für mich. Also, ich möchte nur die ersten 50 Elemente verwenden.bekomme nur das erste N-Element des großen XML-Objekts
Mein Versuch:
$xml = simplexml_load_string($apiRequest);
$object = json_decode(json_encode($xml));
$items = array_slice($object, 0, 50);
Ungefähre Reaktionszeit von der API ist um 50 Sekunden (wenn ich auf Postbote getestet). Nachdem die Antwort empfangen wurde, wird die Konvertierung in das Standardobjekt und andere Berechnungen verlangsamt. Also, ich möchte beschleunigen. Ich möchte die erhaltene XML-Antwort aufteilen, die ersten 50 Elemente erhalten und sie dann in ein Standard-Objekt konvertieren. Gibt es einen Weg, es zu tun? Andere Vorschläge werden sehr geschätzt.
Die meisten APIs können Sie einen Parameter hinzufügen, um die Anzahl der Ergebnisse zu begrenzen, so dass Sie nicht nur die Zeit für die Konvertierung, sondern auch die Empfangszeit verbessern konnten. –
Vermeiden Sie die Serialisierung zu JSON und lesen Sie die XML-Datei direkt. Verwenden Sie die XMLReader-Klasse. Es ist die aktuelle Standard-API für diese großen Dateien. – ThW
Ich habe mit meinem Provider @lukegv kommunizieren, kann ich nicht die Anzahl der Ergebnisse begrenzen. Also, ich habe vor der Ausgabe – vijayrana