繁体   English   中英

Zend_Feed访问项-ATOM

[英]Zend_Feed access item - ATOM

Iam试图阅读“ itunes RSS Feed”。 据我所知,它是基于ATOM的。

工作正常:

    $feed = $this->getFeed(self::TOP300_PAYED);

    foreach ($feed as $item) {
        echo $item->name;
    }

但是我需要以下节点:

<im:image height="53">
http://a3.mzstatic.com/us/r1000/116/Purple/61/9b/f2/mzl.wyuzxxzw.53x53-50.png
</im:image>

任何想法如何使用zend feed访问它?

像任何其他ATOM提要一样,您可以像这样迭代它:

    $feed = new Zend_Feed_Atom("example.com");
    foreach ($feed as $entry) {
        $xml = $entry->saveXml();
        $xmlObj = simplexml_load_string($xml);

        $xmlObj->registerXPathNamespace('im', "example.com");
        $result = $xmlObj->xpath('//im:image');

        foreach ($result as $image) {
          echo $image . "\n";
        }
    }

请注意此处使用registerXPathNamespace() ,似乎iTunes在其供稿中使用了名称空间,这就是您需要首先注册它的原因。

试试这个,让我知道它是否有效。

感谢“命名空间”提示:

最终解决方案:

        $item->registerXPathNamespace('im', 'image');
        $image = (string) $item->image[0]; // first image "52"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM