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.

vultr banner

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

$szFeed = "";
$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 />";

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

2 thoughts on “How to extract the exchange rates from NBR’s website datafeed”

  1. Instead simplexml_load_file I prefer to use curl.

    I am not sure does simplexml_load_file use file_get_contents technique, but curl have much better performances then file_get_contents. Please follow curl vs file_get_contents.

    It would be nice to do few performance tests.

    Of course, caching fetched data is a very important feature. If your site have much visitors, and you do requests to remote server for each visitor, the remote server may “detect attack”.

    VA:F [1.9.11_1134]
    Rating: 5.0/5 (3 votes cast)

Comments are closed.