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