PHP. Работа с данными в XML формате.

В этой статье я расскажу как работать с XML данными в PHP. На данный момент XML формат часто используется в разного рода информерах (погода, курсы валют и т.д), в API различных сайтов и много где ещё.  В своём примере я покажу как получить курс валют из XML с сайта Центрального банка России.
Для обработки XML воспользуемся встроенным в PHP классом — SimplexmlElement.

А вот так выглядит XML файл который мы будем обрабатывать(в примере приведена только часть файла):


036
AUD
1
Австралийский доллар
31,4288


944
AZN
1
Азербайджанский манат
41,4671


826
GBP
1
Фунт стерлингов Соединенного королевства
50,6368


051
AMD
1000
Армянских драмов
87,1364

SimplexmlElement — преобразует XML файл в массив, с которым можно будет делать всё, что нам нужно.

Пример 1 (Выведем все данные о курсах валюты из файла)

Valute as $item){
	echo $item->NumCode." ".$item->CharCode." ".$item->Nominal." ".$item->Name." ".$item->Value;
	echo '
'; } ?>

Полученный результат:

036 AUD 1 Австралийский доллар 31,4288
944 AZN 1 Азербайджанский манат 41,4671
826 GBP 1 Фунт стерлингов Соединенного королевства 50,6368
051 AMD 1000 Армянских драмов 87,1364
974 BYR 10000 Белорусских рублей 57,7819

… и т.д.

Пример 2 (Выведем только данные о конкретной валюте)

Valute[2]->NumCode; // [2] - получаем данные только с указанным индексом элемента массива 
$tmp2 = $xml->Valute[2]->CharCode;
$tmp3 = $xml->Valute[2]->Nominal;
$tmp4 = $xml->Valute[2]->Name;
$tmp5 = $xml->Valute[2]->Value;

echo $tmp1." ".$tmp2." ".$tmp3." ".$tmp4." ".$tmp5;

?>

Полученный результат:

826 GBP 1 Фунт стерлингов Соединенного королевства 50,6368