Не выполняется XPath-запрос к XML-данным, подскажите почему пожалуйста
PHP:
скопировать код в буфер обмена
class ExchangeRate { // URL, файл в формате XML public $exchange_url = 'http://bank-ua.com/export/currrate.xml'; public $xml; function __construct(){ // интерпретируем XML-файл в объект return $this->xml = } function getExchangeRateByChar3($char3){ if ($this->xml!==FALSE) { // все хорошо, можно работать дальше - // в XML-данных нет ошибки foreach($this->xml->children() as $item){ //этот print_r выдает все данные по всем валютом в таком формате /*SimpleXMLElement Object ( [ date ] => 2011-07-22 [ code ] => 840 [ char3 ] => USD [ size ] => 100 [ name ] => доларів США [ rate ] => 797.1100 [ change ] => 0 )*/ // Выполняем XPath-запрос к XML-данным $v = $row->xpath('//char3[. ="' . $char3 . '"]'); //в этом print_r уже пусто if($v[0]){ $result = $item; break; } } } return $result; } }
Обращение к класу
PHP:
скопировать код в буфер обмена
$er = new ExchangeRate(); // "Вытаскиваем" курс для долларов США по сокращенному // 3-х буквенному названии латиницей $data = $er->getExchangeRateByChar3('USD'); // для начала посмотрим переменную $data print "<pre>"; print "</pre>";
(Отредактировано автором: 18 Июля, 2014 - 12:59:31)
|