XML, ЦБ РФ и курсы валют.

Astral Man

We Will Rock You
XML, ЦБ РФ и курсы валют.

Всем привет!

Такая вот задача: есть http://www.cbr.ru/scripts/XML_daily.asp xml файл с курсами валют, нужно выдрать от туда value тега valute
с определенным id. т.к. с xml сталкнулся первый раз прошу подсказать, а то никак не пойму как это делается.
 

SiMM

Новичок
> т.к. с xml сталкнулся первый раз
А что-то мешает это сделать банальными регулярками?
 

Astral Man

We Will Rock You
Tor
Спасибо,но первым делом я полез читать ман, но ничего не понял...

-~{}~ 10.03.05 13:10:

Автор оригинала: SiMM
> т.к. с xml сталкнулся первый раз
А что-то мешает это сделать банальными регулярками?
Предлогаешь выдирать инфу между тегами
<Valute ID="R01010">
<NumCode>036</NumCode>
<CharCode>AUD</CharCode>
<Nominal>1</Nominal>
<Name>Австралийский доллар</Name>
<Value>21,8748</Value>
</Valute>
а потом в том что нашлось между <Value>21,8748</Value>
 

SiMM

Новичок
> Предлогаешь выдирать инфу между тегами
Задача решается в один preg_match_all. В данном конкретном случае.
 

Astral Man

We Will Rock You
Автор оригинала: SiMM
> Предлогаешь выдирать инфу между тегами
Задача решается в один preg_match_all. В данном конкретном случае.
И как это сделать в один preg_match_all? Что-то я уже совсем запутался...
 

Astral Man

We Will Rock You
Alexandre
А не мог бы ты дать пример, ну не понимаю я...
Конкретная задача выдрать курс доллара.

-~{}~ 10.03.05 15:51:

Всем спасибо кто ответил, решил вот-так:

PHP:
$cur_cb = file_get_contents ("http://www.cbr.ru/scripts/XML_daily.asp");

preg_match_all("#<ValCurs Date=\"(.*)\" name=\"Foreign Currency Market\">#sU", $cur_cb, $_cur_date); 
preg_match_all("#<Valute ID=\"R01235\">.*<CharCode>(.*)</CharCode>.*<Value>(.*)</Value>.*</Valute>#sU", $cur_cb, $_usd); 
preg_match_all("#<Valute ID=\"R01239\">.*<CharCode>(.*)</CharCode>.*<Value>(.*)</Value>.*</Valute>#sU", $cur_cb, $_eur); 

$cur_date = $_cur_date[1][0];
$usd = $_usd[2][0];
$eur = $_eur[2][0];

echo "Курсы валют ЦБ РФ на -".$cur_date."";
echo "<br>";
echo $usd;
echo "<br>";
echo $eur
 
Сверху