Получить весь XML-ответ с помощью HTTP-клиента Guzzle 6
Я хотел использовать Guzzle 6 для получения XML-ответа от удаленного API. Это мой код:
$client = new Client([
'base_uri' => '<my-data-endpoint>',
]);
$response = $client->get('<URI>', [
'query' => [
'token' => '<my-token>',
],
'headers' => [
'Accept' => 'application/xml'
]
]);
$body = $response->getBody();
Вардумпинг$body
вернетGuzzleHttp\Psr7\Stream
объект:
object(GuzzleHttp\Psr7\Stream)[453]
private 'stream' => resource(6, stream)
...
...
Я мог бы тогда позвонить$body->read(1024)
читать 1024 байта из ответа (который будет читаться в XML).
Тем не менее, я хотел бы получить полный XML-ответ из моего запроса, так как мне нужно будет проанализировать его позже, используяSimpleXML
расширение.
Как я могу наилучшим образом получить ответ XML изGuzzleHttp\Psr7\Stream
объект, чтобы его можно было использовать для разбора?
Будет лиwhile
цикл путь?
while($body->read(1024)) {
...
}
Буду признателен за ваш совет.