2011-02-08 31 views
1

前几天我已经发布了关于请求如何Request user recenttracks from lastfm with codeigniter and xmlrpc 工作正常,但我仍然无法弄清楚如何使用响应问题...这是我迄今所做的:如何在CodeIgniter中使用Last.fm XML-RPC响应?

我与XML-RPC问题是,我得到的是一个字符串的响应...

if(!$this->xmlrpc->send_request()) 
{ 
    $data["response"] = $this->xmlrpc->display_error(); 
} 
else { 
    $data["response"] = $this->xmlrpc->display_response(); 
} 

的var_dump说$数据[ “回应”]是一个字符串(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 

那么我该如何使用这个响应呢?

XML-RPC是SOOO坏记录在笨UserGuide ... :(

回答

0

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

&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) { ... } 
+0

这正是我所需要的。非常感谢你,你做了我的一天! :) – 2011-02-10 21:55:08