Как использовать Last.fm XML-RPC ответ с CodeIgniter? - PullRequest
1 голос
/ 09 февраля 2011

Несколько дней назад я опубликовал вопрос о том, как Запросить последние треки пользователей из 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 ...: (

1 Ответ

0 голосов
/ 10 февраля 2011

Если вы посмотрите на фактический ответ, возвращаемый 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) { ... }
...