我客户的系统需要使用 flickr.photos.search API 调用从他们的 Flickr 帐户访问私人照片。我进行了设置并获得了该调用的生成 URL。当我在浏览器中访问该 URL 时,它会输出应有的 XML。
(API 参考:http ://www.flickr.com/services/api/flickr.photos.search.html )
但是,在 PHP 中,我想访问该 XML 并使用 simplexml PHP 扩展显示它。我不知道如何访问 XML,因为它不是位于 .xml 文件中,而是位于动态 URL 中。
XML 文件(来自浏览器)如下所示:
<rsp stat="ok">
<photos page="1" pages="1" perpage="100" total="4">
<photo id="4332852622" owner="36520372@N05" secret="xxxxxxxx" server="2760" farm="3" title="building" ispublic="0" isfriend="0" isfamily="0"/>
<photo id="4332113745" owner="36520372@N05" secret="xxxxxxx" server="2803" farm="3" title="digging" ispublic="0" isfriend="0" isfamily="0"/>
<photo id="4332852444" owner="36520372@N05" secret="xxxxxxx" server="4025" farm="5" title="house" ispublic="0" isfriend="0" isfamily="0"/>
<photo id="4332113699" owner="36520372@N05" secret="xxxxxxx" server="2802" farm="3" title="PaulLuomaHab" ispublic="0" isfriend="0" isfamily="0"/>
</photos>
</rsp>
使用 PHP 我正在尝试这个:
$rsp = simplexml_load_file($flickrURL);
foreach($rsp->photos->photo as $photo) {
echo $photo->title;
}
它什么也不返回。我在这里错过了什么吗?
注意:我echo "Ding!";
在foreach
上面的循环中添加了它,它确实回显了 Ding!Ding!Ding!Ding!,这意味着它识别出有 4 张照片并循环了正确的次数。
显然,出于某种原因,它对 $photo->title 不满意?
还
当我使用print_r($photo)
我得到这个:
SimpleXMLElement Object ( [@attributes] => Array ( [id] => 4332852622 [owner] => 36520372@N05 [secret] => 88fff62f43 [server] => 2760 [farm] => 3 [title] => building [ispublic] => 0 [isfriend] => 0 [isfamily] => 0 ) )