bdee1 Posted March 18, 2010 Share Posted March 18, 2010 Hi - I am trying to use simpleXML to parse a picasaWeb XML feed and I am running into a bit of trouble. the URL of the picasaweb feed I am using is: http://picasaweb.google.com/data/feed/api/user/blairdee2000/albumid/5149975922288869729?kind=photo&access=public&thumbsize=144c&imgmax=512 right now i am just trying to spit out the thumbnail image url and the title and description for each. so the thumbnail url should be at: feed->entry->media:group->media:thumbnail in the url attribute and the title should be found at feed->entry->media:group->media:title and the description should be found at feed->entry->media:group->media:description so initially i thought the following code would work: $xml = simplexml_load_file($feedURL); foreach($xml->entry as $entry) { imgTitle = entry->media:group->media:title; imgDescrip = entry->media:group->media:description; thumbURL = entry->media:group->media:thumbnail['url']; echo("<strong>Title:" . $imgTitle . "</strong><br/>"); echo("<strong>Description:" . $imgDescrip . "</strong><br/>"); echo("<img src='" . $thumbURL . "'><br/>"); } but that didnt work - it seems as though the : in the node names is throwing it off. sorry I am a relative newbie - i am sure that the colon has a special meaning but i dont know what it is. so i ended up finding some code that does work but it seems more complex than it needs to be: $xml = simplexml_load_file($feedURL); foreach($xml->entry as $entry) { $imgTitleArray = $entry->xpath('./media:group/media:title'); $imgTitle = $imgTitleArray[0]; $imgDescripArray = $entry->xpath('./media:group/media:description'); $imgDescrip = $imgDescripArray[0]; $imgThumbArray = $entry->xpath('./media:group/media:thumbnail'); $imgThumbAttributes = $imgThumbArray[0]->attributes(); $imgThumb = $imgThumbAttributes[0]; echo("<strong>Title:" . $imgTitle . "</strong><br/>"); echo("<strong>Description:" . $imgDescrip . "</strong><br/>"); echo("<img src='" . $imgThumb . "'><br/><br/>"); } looks like i have to use the xpath function to reference these special nodes which returns an array. then i have to use the attributes function to return an array of the attributes. then i have to reference the attributes array item by its numerical index... i dunno this seems more complex than it needs to be... am I right? or is that just how it has to be done. if someone could provide some guidance to get me in the right track here I would appreciate it. Link to comment https://forums.phpfreaks.com/topic/195699-question-about-simplexml-and-picasaweb-xml/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.