2011-08-03 3 views
0
<?php 
    $url = 'https://picasaweb.google.com/data/feed/api/user/114098057261214889617/albumid/5282805114683350385?alt=rss&kind=photo&max-results=1'; 
    $session = curl_init($url); 
    curl_setopt($session, CURLOPT_HEADER, false); 
    curl_setopt($session, CURLOPT_RETURNTRANSFER, true); 
    $response = curl_exec($session); 
    curl_close($session); 
    $xml = simplexml_load_string($response); 
    $gphoto = $xml->channel->item->children('http://schemas.google.com/photos/2007'); 
    echo $gphoto->width;//nothing return 
    ?> 

picasa rssの画像の幅と高さを取得するにはどうすればいいですか?ありがとう。php simplexmlノード `gphoto:width`

ここでは、XMLツリー:

<?xml version="1.0" encoding="UTF-8" ?> 
- <rss xmlns:exif="http://schemas.google.com/photos/exif/2007" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:gphoto="http://schemas.google.com/photos/2007" xmlns:media="http://search.yahoo.com/mrss/" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:gml="http://www.opengis.net/gml" xmlns:georss="http://www.georss.org/georss" version="2.0"> 
- <channel> 
- <item> 
... 
    <gphoto:width>1280</gphoto:width> 
    <gphoto:height>960</gphoto:height> 
... 
</item> 
</channel> 
</rss> 
+0

PHPでコードを実行している5.3.3の結果は –

+0

だけでなく、'のphpinfo()は '出力は、私は' XML名前空間のサポートactive'用と 'libxml2のを2.7.8'有していることを示していますそれは価値があるのです –

+0

@brian_d、libxml2 2.7.8なので、私はそれをダウンロードすべきです。 –

答えて

3
$width = $xml->channel->item->children('gphoto',true)->width; 
$height = $xml->channel->item->children('gphoto',true)->height; 
+0

まだ何も返しません。 –

+0

hm、_works here_ ...そしてここでもあなたの_original_コードがここで動作します。 – Wrikken

+0

'echo $ xml-> channel-> managingEditor;を得ることはできますが、' echo $ xml-> channel-> item [0] - > children( 'gphoto'、true) - > height; PHP 5.2.11。 –

-2

私はGoogleのAPIフィードを扱うときに、それが簡単に名前空間を削除するには見つけます。私のために `1280`出力で

$response = str_replace('gphoto:', '', $response); 
+2

本当のXML操作に対処する必要があるならば、私はこれを非常に悪い習慣にすると考えているので、厳しい投票がありません。この特定のケースでは、もちろん「仕事」になりますが、破損する傾向があります。 – Wrikken