如何使用CodeIgniter使用Last.fm XML-RPC响应?

时间:2011-02-08 23:16:12

标签: php codeigniter xml-rpc last.fm

前几天我发布了一个关于如何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太糟糕了...... :(

1 个答案:

答案 0 :(得分:0)

如果你看看Last.fm通过CodeIgniter的XML-RPC类返回的实际响应,它看起来像这样:

&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;
<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) { ... }