Rufen Sie den gesamten XML-Antworttext mit Guzzle 6 HTTP Client ab.

Ich wollte Guzzle 6 verwenden, um eine XML-Antwort von einer Remote-API abzurufen. Das ist mein Code:

$client = new Client([
    'base_uri' => '<my-data-endpoint>',
]);
$response = $client->get('<URI>', [
    'query' => [
        'token' => '<my-token>',
    ],
    'headers' => [
        'Accept' => 'application/xml'
    ]
]);
$body = $response->getBody();

Vardumping the$body würde ein @ zurückgebGuzzleHttp\Psr7\Stream Objekt

object(GuzzleHttp\Psr7\Stream)[453] 
private 'stream' => resource(6, stream)
...
...

Ich könnte dann @ anruf$body->read(1024) um 1024 Bytes aus der Antwort zu lesen (was in xml lesen würde).

Ich möchte jedoch die gesamte XML-Antwort von meiner Anfrage abrufen, da ich sie später mithilfe des @ -Zeichens analysieren musSimpleXML extension.

Wie kann ich die XML-Antwort am besten von @ abrufeGuzzleHttp\Psr7\Stream Objekt, damit es zum Parsen verwendet werden kann?

ürde daswhile Schleife den Weg zu gehen?

while($body->read(1024)) {
    ...
}

Ich würde mich über Ihren Rat freuen.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage