Zend framework 如何处理Zend\u Rest\u客户端\u结果?

Zend framework 如何处理Zend\u Rest\u客户端\u结果?,zend-framework,rest,Zend Framework,Rest,我正在尝试使用Zend_Rest_客户端的last.fm中的API进行搜索 我该怎么处理这个回复呢?如何从响应中获取值 object(Zend_Rest_Client_Result)[226] protected '_sxml' => object(SimpleXMLElement)[228] public '@attributes' => array 'status' => string 'ok' (length

我正在尝试使用Zend_Rest_客户端的last.fm中的API进行搜索

我该怎么处理这个回复呢?如何从响应中获取值

object(Zend_Rest_Client_Result)[226]
  protected '_sxml' => 
    object(SimpleXMLElement)[228]
      public '@attributes' => 
        array
          'status' => string 'ok' (length=2)
      public 'results' => 
        object(SimpleXMLElement)[229]
          public '@attributes' => 
            array
              ...
          public 'trackmatches' => 
            object(SimpleXMLElement)[230]
              ...
  protected '_errstr' => null

如何循环跟踪匹配?我尝试的所有操作都返回空值。

我无法使用Zend完成此操作。看起来像Zend_Http这样的无用类。我不得不使用“咕噜咕噜”SPL:

    $url = $this->host . '?method=track.search';
    $url .= '&api_key=' . $this->apikey;
    $url .= '&track=' . urlencode($value);

    try {
        $xmlstr = file_get_contents($url);
        $xml = new SimpleXMLElement($xmlstr);
        //var_dump($xml->results->trackmatches);
        return $xml->results->trackmatches;
    } catch (Exception $e) {
        echo '<h4>url = ' . $url . '</h4>';
        var_dump($e);
    }
$url=$this->host'?方法=track.search';
$url.='&api_key='$这是一把钥匙;
$url.='&track='。urlencode($value);
试一试{
$xmlstr=文件获取内容($url);
$xml=新的simplexmlement($xmlstr);
//变量转储($xml->results->trackmatches);
返回$xml->results->trackmatches;
}捕获(例外$e){
回显'url='。$url';
var_dump($e);
}

上面的代码将发挥神奇的作用。

您必须不断取消引用,直到找到不是SimpleXMLElement对象的对象。尝试打印SimpleXMLElement对象无效

$results = $object->getIterator();
foreach($results->results->trackmatches as $t) {
    echo $t->sometagname;
}

您是否尝试过
echo$result
foreach($result as$stuff)echo$stuff
echo$result->trackmatches
?是的,它们都返回null。我收集到的是来自魔法获得者的回报。即使使用toValue(),一切都是空的;这样你就可以循环你的结果了
$results = $object->getIterator();
foreach($results->results->trackmatches as $t) {
    echo $t->sometagname;
}