Loading

Euro foreign exchange reference rates

The reference rates are usually updated by 3 p.m. C.E.T. They are based on a regular daily concertation procedure between central banks across Europe and worldwide, which normally takes place at 2.15 p.m. CET.
How to parse the data
Regular expression example

<?php
    //This is a PHP(4/5) script example on how eurofxref-daily.xml can be parsed
    //Read eurofxref-daily.xml file in memory 
    //For this command you will need the config option allow_url_fopen=On (default)
    $XMLContent=file("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
    //the file is updated daily between 2.15 p.m. and 3.00 p.m. CET
            
    foreach($XMLContent as $line){
        if(preg_match("/currency='([[:alpha:]]+)'/",$line,$currencyCode)){
            if(preg_match("/rate='([[:graph:]]+)'/",$line,$rate)){
                //Output the value of 1EUR for a currency code
                echo'1&euro;='.$rate[1].' '.$currencyCode[1].'<br/>';
                //--------------------------------------------------
                //Here you can add your code for inserting
                //$rate[1] and $currencyCode[1] into your database
                //--------------------------------------------------
            }
        }
}
?> 
XML parser example

<?php
    function StartElement($parser, $name, $attrs) { 
        if (!empty($attrs['RATE'])) {
            echo "1&euro;=".$attrs['RATE']." ".$attrs['CURRENCY']."<br />"; 
        }
    }
    $xml_parser= xml_parser_create();
    xml_set_element_handler($xml_parser, "StartElement", "");
    // for the following command you will need file_get_contents (PHP >= 4.3.0) 
    // and the config option allow_url_fopen=On (default)
    xml_parse($xml_parser, file_get_contents ("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml"));
    xml_parser_free($xml_parser);
?> 
SimpleXML example

<?php
    //This is aPHP(5)script example on how eurofxref-daily.xml can be parsed
    //Read eurofxref-daily.xml file in memory
    //For the next command you will need the config option allow_url_fopen=On (default)
    $XML=simplexml_load_file("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
    //the file is updated daily between 2.15 p.m. and 3.00 p.m. CET
            
    foreach($XML->Cube->Cube->Cube as $rate){
        //Output the value of 1EUR for a currency code
        echo '1&euro;='.$rate["rate"].' '.$rate["currency"].'<br/>';
        //--------------------------------------------------
        //Here you can add your code for inserting
        //$rate["rate"] and $rate["currency"] into your database
        //--------------------------------------------------
    }
?> 
Output of the code above
1€=1.3857 USD
1€=111.87 JPY
1€=1.9558 BGN
1€=24.598 CZK
1€=7.4562 DKK
1€=15.6466 EEK
1€=0.86860 GBP
1€=271.76 HUF
1€=3.4528 LTL
1€=0.7097 LVL
1€=3.9820 PLN
1€=4.2663 RON
1€=9.3610 SEK
1€=1.3708 CHF
1€=8.1920 NOK
1€=7.3470 HRK
1€=42.7523 RUB
1€=1.9887 TRY
1€=1.4216 AUD
1€=2.3638 BRL
1€=1.4150 CAD
1€=9.2437 CNY
1€=10.7467 HKD
1€=12383.89 IDR
1€=61.5200 INR
1€=1557.90 KRW
1€=17.1544 MXN
1€=4.3090 MYR
1€=1.8280 NZD
1€=59.741 PHP
1€=1.7968 SGD
1€=41.509 THB
1€=9.6827 ZAR

from:http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html

posted @ 2010-10-31 17:16  .net's  阅读(596)  评论(0)    收藏  举报