首页 > 解决方案 > 在php中解析为SimpleXML后XML字符串为空

问题描述

使用 PHP 我调用了一个 API。我为此使用 curl,响应应该是 XML。但我调用的响应是一个包含 XML 内容的字符串。所以我想用 simplexml_load_string 解析它。但是,我得到一个空对象:

object(SimpleXMLElement)#839 (0) { }

这是我的电话:

$curl = curl_init($this->api_base . $this->endpoint);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC );
curl_setopt($curl, CURLOPT_USERPWD, $this->get_auth_string());
curl_setopt($curl, CURLOPT_FAILONERROR, true);
curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
curl_setopt($curl, CURLOPT_AUTOREFERER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, [
    'Content-Type: application/xml',
    'Accept: application/xml',
    'Connection: Keep-Alive'
]);
$response = curl_exec($curl);
$curl_error = curl_error($curl);
curl_close($curl);

那有什么问题?如何让真正的 XML 循环通过?

标签: phpxml

解决方案


推荐阅读