Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend_提要访问项-ATOM_Php_Zend Framework_Zend Feed - Fatal编程技术网

Php Zend_提要访问项-ATOM

Php Zend_提要访问项-ATOM,php,zend-framework,zend-feed,Php,Zend Framework,Zend Feed,我正在阅读“itunes RSS提要”。据我所知,它是基于原子的 工作正常: $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/m

我正在阅读“itunes RSS提要”。据我所知,它是基于原子的

工作正常:

    $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>

http://a3.mzstatic.com/us/r1000/116/Purple/61/9b/f2/mzl.wyuzxxzw.53x53-50.png

您知道如何使用zend feed访问它吗?

与其他ATOM feed一样,您可以像这样对其进行迭代:

    $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";
        }
    }
注意这里的用法,似乎iTunes在其提要中使用了名称空间,这就是您需要首先注册它的原因


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

像任何其他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";
        }
    }
注意这里的用法,似乎iTunes在其提要中使用了名称空间,这就是您需要首先注册它的原因

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

谢谢“名称空间”提示:

最终解决方案:

        $item->registerXPathNamespace('im', 'image');
        $image = (string) $item->image[0]; // first image "52"
感谢“名称空间”提示:

最终解决方案:

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

基本上和我回答的一样:)无论如何谢谢你的最终解决方案。基本上和我回答的一样:)无论如何谢谢你的最终解决方案。