Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Разбор XML/ Проблема передачи переменной в класс
 
 автор: mister_pipin   (29.03.2012 в 00:53)   письмо автору
 
 

Всем привет.
Данный код разбирает xml погоды. Я выбрал только время и температуру. Так то код работает, но
class ValutaController
{
    var $res = '';
    
    function __construct(){
        $this->pogoda('http://informer.gismeteo.ru/xml/27553_1.xml');
    }
        
    //----------------------------------------
    function pogoda($link){
        $fd = fopen($link, 'r');
        $text = '';
          if ($fd){
            while (!feof ($fd))
            $text .= fgets($fd, 4096);
          }
          fclose ($fd);
        $this->zapusc($text);
    }
    
    
    //----------------------------------------
    function zapusc($data){
        
        function startElement($parser, $name, $attrs) {
            $res = '';
            
            switch ($name) {
                case 'FORECAST':
                    $res .= $attrs['HOUR'].'-00';
                break;
            
                case 'TEMPERATURE':
                    $res .= ' <strong>'.$attrs['MIN'].'°</strong> до <strong>'.
                    $attrs['MAX'].'°</strong><br>';
                break;
            }
            echo $res;
        }
    
        function endElement($parser, $name) {}        
        
        $xmlparser = xml_parser_create();
            xml_set_element_handler($xmlparser, 'startElement', 'endElement');
                if (!xml_parse($xmlparser, $data)) {
                    die('Ошибка обработки данных');
                }            
            xml_parser_free($xmlparser);
    }
    
    //----------------------------------------
    function konec($res){
        $this->res = $res;
    }
}


я выделил жирным переменную в которой хранятся все данные. Если ее вывести так без проблем, а как эту переменную присвоить основной переменной которую я уже объявил?
var $res = '';


За ранее спасибо

  Ответить  
 
 автор: Sfinks   (29.03.2012 в 02:49)   письмо автору
 
   для: mister_pipin   (29.03.2012 в 00:53)
 

Также как в function konec($res)
$this->res = $res;

  Ответить  
 
 автор: mister_pipin   (29.03.2012 в 13:55)   письмо автору
 
   для: Sfinks   (29.03.2012 в 02:49)
 

Побовал. Но не получается, скрипт рабочий. Но мне не нужно что бы он сразу выводил информацию, нужно что бы информация была в переменной.
Делал так

$this->res = $res;

и все равно не получается*(

  Ответить  
 
 автор: mister_pipin   (30.03.2012 в 00:34)   письмо автору
 
   для: mister_pipin   (29.03.2012 в 13:55)
 

Может есть какие то другие варианты решения?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования