Recupere todo o corpo da resposta XML com o Guzzle 6 HTTP Client

Eu queria usar o Guzzle 6 para recuperar uma resposta xml de uma API remota. Este é o meu código:

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

Vardumping o$body retornaria umGuzzleHttp\Psr7\Stream objeto:

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

Eu poderia então ligar$body->read(1024) ler 1024 bytes da resposta (que seria lida em xml).

No entanto, gostaria de recuperar toda a resposta XML da minha solicitação, pois precisarei analisá-la posteriormente usando o métodoSimpleXML extensão.

Como posso recuperar melhor a resposta XML deGuzzleHttp\Psr7\Stream objeto para que seja utilizável para análise?

Owhile loop o caminho a percorrer?

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

Eu apreciaria seu conselho.

questionAnswers(4)

yourAnswerToTheQuestion