1

几天前,我发布了一个关于如何使用 codeigniter 和 xmlrpc 从 lastfm 请求用户最近跟踪的问题 。请求工作正常,但我仍然不知道如何使用响应......这就是我到目前为止所做的:

我对 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 中记录得太糟糕了...... :(

4

1 回答 1

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) { ... }
于 2011-02-10T17:10:11.587 回答