Иногда в проектах возникает необходимость получить текущий курс валют, как правило, делается это путем парсинга данных из каких-либо достоверных источников. Рассмотрим простой, но эффективный пример парсинга данных с сайта национального банка Казахстана. Данные, которые мы будем парсить представлены в виде XML, что значительно упрощает задачу.
Ссылка на RSS:
http://www.nationalbank.kz/rss/rates_all.xml
Данные в файле rates_all.xml имеют такую структуру:
<?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <generator>Alternate RSS Builder</generator> <title>Official exchange rates of National Bank of Republic Kazakhstan</title> <link>www.nationalbank.kz</link> <description>Official exchange rates of National Bank of Republic Kazakhstan</description> <language>ru</language> <copyright>www.nationalbank.kz</copyright> <item> <title>AUD</title> <pubDate>26.11.14</pubDate> <description>154.72</description> <quant>1</quant> <index>DOWN</index> <change>-1.46</change> <link /> </item> … </channel> </rss>
Нужные данные в этом документе мы будем получать из узла item.
Обратите внимание, что для получения данных мы будем использовать библиотеку SimpleXML.
Код функции:
function getRates(){ $url = "http://www.nationalbank.kz/rss/rates_all.xml"; $dataObj = simplexml_load_file($url); if ($dataObj){ foreach ($dataObj->channel->item as $item){ echo "title: ".$item->title."<br>"; echo "pubDate: ".$item->pubDate."<br>"; echo "description: ".$item->description."<br>";; echo "quant: ".$item->quant."<br>"; echo "index: ".$item->index."<br>"; echo "change: ".$item->change."<br>"; } } }
Обращаемся к функции:
getRates();
В результате будет получен список с данными о курсе валют по отношению к тенге. Визуально оформлять не стал специально, дабы не добавлять в примере лишнего. Думаю вы справитесь с этим сами, успехов.
Спасибо за статью брателло !
Благодарочка тебе добрый человек! Помог!
Огромнейшее спасибо! Выручил!
Здравствуйте. А можете показать пример вывода для какой-нибудь одной отдельной валюты?
Здравствуйте, можно вместо цикла foreach обратиться по нужному ключу.
Спасибо.
Как этот код выполнить на странице сайта Вордпресс!!! Чайник в этих делах. Хочу создать отдельную страницу с курсами валют. А как это все осуществить и подключить? хотя бы вкратце...Заранее благодарю!
Можно создать свой виджет, и подключить его на нужной странице.
Создаётся не сложно, есть пример тут.
Спасибо. Подскажите как вывести две записи