前几天我发布了一个关于如何Request user recenttracks from lastfm with codeigniter and xmlrpc的问题 请求工作正常,但我仍然无法弄清楚如何使用响应...这是我到目前为止所做的:
我对xml-rpc的问题是我得到的响应是一个字符串...
if(!$this->xmlrpc->send_request())
{
$data["response"] = $this->xmlrpc->display_error();
}
else {
$data["response"] = $this->xmlrpc->display_response();
}
var_dump说$ data [“response”]是一个字符串(4293)...
我尝试var_dump(simplexml_load_string($response));
,但收到错误:
Message: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Start tag expected, '<' not found
那我该如何使用这个回复?
在CodeIgniter UserGuide中记录的xml-rpc太糟糕了...... :(
答案 0 :(得分:0)
如果你看看Last.fm通过CodeIgniter的XML-RPC类返回的实际响应,它看起来像这样:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<lfm status=\"ok\">
<recenttracks user=\"RJ\" page=\"1\" perPage=\"10\" totalPages=\"3327\" total=\"33265\" >
<!-- truncated for brevity -->
我希望也许有人可以提供更好的答案,因为这对我来说不是最佳解决方案,但似乎有效:
$response = html_entity_decode(stripslashes($response));
$xml = simplexml_load_string($response);
var_dump($xml);
var_dump
应该是这样的:
object(SimpleXMLElement)#20 (2) { ... }