Read xml data from url using curl and php Read xml data from url using curl and php curl curl

Read xml data from url using curl and php


Here is some sample code (XML parsing module may not be available on your PHP installation):

<?php$url="http://www.arrowcast.net/fids/mco/fids.asp?sort=city&city=&number=&airline=&adi=A";$ch = curl_init();curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_URL, $url);    // get the url contents$data = curl_exec($ch); // execute curl requestcurl_close($ch);$xml = simplexml_load_string($data);print_r($xml);?>

The variable $xml now is a multi-dimensional key value array and you should easily be able to figure out how to get the elements from there.


// the SAX way:XMLReader myReader = XMLReaderFactory.createXMLReader();myReader.setContentHandler(handler);myReader.parse(new InputSource(new URL(url).openStream()));// or if you prefer DOM:DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();DocumentBuilder db = dbf.newDocumentBuilder();Document doc = db.parse(new URL(url).openStream());


This is the demo of how to get channel id from rss feed of youtube in which i read xml data from url using curl.

$channel_id = 'XXXXXXXX'; // put the channel id here//using curl$url = 'https://www.youtube.com/feeds/videos.xml?channel_id='.$channel_id.'&orderby=published';$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');$response  = curl_exec($ch);curl_close($ch);$response=simplexml_load_string($response);$json = json_encode($response);$youtube= json_decode($json, true);$count = 0;if(isset($youtube['entry']['0']) && $youtube['entry']['0']!=array()){    foreach ($youtube['entry'] as $k => $v) {        $yt_vids[$count]['id'] = str_replace('http://www.youtube.com/watch?v=', '', $v['link']['@attributes']['href']);        $yt_vids[$count]['title'] = $v['title'];        $count++;    }}else{    $yt_vids[$count]['id']=str_replace('http://www.youtube.com/watch?v=', '', $youtube['entry']['link']['@attributes']['href']);    $yt_vids[$count]['title']=$youtube['title'];}echo "<pre>";print_r($yt_vids);