Как использовать XML-RPC-ответ Last.fm с CodeIgniter?

Несколько дней назад я разместил вопрос о том, как запросить пользователя недавние треки от lastfm с codeigniter и 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

Итак, как я должен использовать этот ответ?

xml-rpc очень плохо задокументирован в CodeIgniter UserGuide... :(


person Matthias Loibl    schedule 08.02.2011    source источник


Ответы (1)


Если вы посмотрите на фактический ответ, возвращенный от Last.fm через класс XML-RPC CodeIgniter, он выглядит так:

&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) { ... }
person Colin Brock    schedule 10.02.2011
comment
Это именно то, что мне нужно. Большое спасибо, вы сделали мой день! :) - person Matthias Loibl; 11.02.2011