How to extract the exchange rates from NBR’s website datafeed

Hi everyone,

Some of my friends asked me how to display on their websites the exchange rates provided by the National Bank of Romania, so I have decided to make a little tutorial about it for anyone who might found it useful.

First of all we need to read the feed provided. We will do this using the following code:

$szFeed = "http://www.bnro.ro/nbrfxrates.xml";
$arrXML = simplexml_load_file($szFeed);

Next, we will need a variable to hold our exchange rates.

$arrCurrency = array();

Assuming we have no errors so far we will have to parse the result hold in $arrXML.
We will do this with a “foreach” loop:

$nIndex = 0;
foreach($arrXML->Body->Cube->Rate as $rate)
{
	// we need a variable to store attributes for rate element
	$arrAttribute = array();
	// the rate element can have two possible attributes:
	// currency and multiplier as exemplified below
	// <Rate currency="GBP">4.7690</Rate>
	// <Rate currency="HUF" multiplier="100">1.4603</Rate>
        //
	$arrAttribute = $arrXML->Body->Cube->Rate[$nIndex]->attributes();
	//check to see if multiplier is present
	if ($arrAttribute[1] != null) $szMultiplier = " x " . $arrAttribute[1];
	else $szMultiplier = "";
	$arrCurrency["{$arrAttribute[0]}"] = $rate;
	// now print the currency
	echo "$nIndex - 1 $arrAttribute[0] $szMultiplier = $rate RON" . "<br />";
	$nIndex++;
}

If you wish to extract only the rate for EUR you get it from $arrCurrency[“EUR”].

Off course you have to add some error checking on the way.
If you want to learn more about simplexml_load_file you can check the official php manual.

Download the source code here:  Source code for exchange rates tutorial.

Hope you liked it.

VN:F [1.9.11_1134]
Rating: 8.5/10 (17 votes cast)
How to extract the exchange rates from NBR's website datafeed, 8.5 out of 10 based on 17 ratings

About Armino

This website is about me, my experiences, my hobbies and my friends. If you are interested in my professional profile you can check it on LinkedIn.