2011-08-03 7 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

흠, _ 여기에요 ... ... 그럼 다시, 당신의 _original_ 코드가 지금 여기서 작동합니다. – Wrikken

+0

'echo $ xml-> channels-> managingEditor;를 얻을 수는 있지만'echo $ xml-> channel-> item [0] -> children ('gphoto', true) -> height; PHP 5.2.11. –

-2

나는 구글 API 피드를 처리 할 때 쉽게 네임 스페이스를 제거 찾을 수 있습니다. 나를 위해`1280` 출력

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

실제 XML 조작을 다뤄야하는 경우 더 어려울 것입니다. 내가 이것을 매우 나쁜 습관으로 생각하기 때문에 열심히 투표하십시오. 이 특별한 경우에는 물론 '일'이지만, 파손되기 쉽습니다. – Wrikken