Php 从响应中读取值
我使用Guzzle和Laravel从带有HTTP的外部API获取对象。API返回与此类似的XML对象 我需要检查响应体的一个值。这是我的密码:Php 从响应中读取值,php,laravel,guzzle,guzzlehttp,Php,Laravel,Guzzle,Guzzlehttp,我使用Guzzle和Laravel从带有HTTP的外部API获取对象。API返回与此类似的XML对象 我需要检查响应体的一个值。这是我的密码: $client = new \GuzzleHttp\Client(); $res = $client->request('GET', 'https://www.w3schools.com/php/note.xml'); $stringBody = (string) $res->getBody()->getContents
$client = new \GuzzleHttp\Client();
$res = $client->request('GET', 'https://www.w3schools.com/php/note.xml');
$stringBody = (string) $res->getBody()->getContents();
echo $stringBody;
这是工作正常,我的意思是它显示身体如下图
但我不能得到一个值?
我尝试了不同的方法,但没有一种有效!
例如,这样做:
$result = starts_with($stringBody, 'Tove');
或
没有人在工作?我认为它认为正文是空的?
我尝试使用json_解码,但它不起作用或不再受支持
有什么想法吗?
谢谢您从回复中得到的是xml内容。由于浏览器与XML的兼容性,您只能看到文本。您只需要php的SimpleXML类就可以按照XML节点获取内容。下面是示例代码
$client = new \GuzzleHttp\Client();
$res = $client->request('GET', 'https://www.w3schools.com/php/note.xml');
$stringBody = (string) $res->getBody()->getContents();
$xml = simplexml_load_string($stringBody);
echo $xml->to;
希望这对您有所帮助。尝试使用dd$stringBody输出$stringBody。这样你可以看到变量的精确值。谢谢。这就是我想要的:
$client = new \GuzzleHttp\Client();
$res = $client->request('GET', 'https://www.w3schools.com/php/note.xml');
$stringBody = (string) $res->getBody()->getContents();
$xml = simplexml_load_string($stringBody);
echo $xml->to;