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

Форум Регулярные Выражения

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

 

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

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

тема: Парсер пагоды Gismeteo
 
 автор: sochinec   (03.05.2009 в 10:47)   письмо автору
 
 

Здравствуйте.
Кто сталкивался с написанием парсера для пагоды Gismeteo.ru
Не пойму как именно извлекать данные с помощью SimpleXML
Как обращатся к данным XML файла. Просто все примеры что есть в интернете заточены под RSS ленты, и мне не понятно!

  Ответить  
 
 автор: angelcorpc   (03.05.2009 в 14:48)   письмо автору
 
   для: sochinec   (03.05.2009 в 10:47)
 

Вот часть кода из работающего скрипта, сам делал:
 $town = $_GET['town'];
 $file = 'http://informer.gismeteo.ru/xml/'.$town.'_1.xml';
 $xml = simplexml_load_file($file);
 
 $dats = array();//массив с датами
 $osad = array();//массив с осадками
 $davl = array();//массив с давлением
 $temp = array();//массив с температурой
 $wind = array();//массив с ветром
 $vlag = array();//массив с влажностью
 $komf = array();//массив с комфортной температурой
 $txto = array();//массив с выводимой инфой.
 
 $mnth = array ('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря');//месяц
 $ned = array ('Воскресение', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота');//День недели
 $sut = array ('ночь', 'утро', 'день', 'вечер');//Врамя суток
 $obl = array ('ясно', 'малооблачно', 'облачно', 'пасмурно');//Облачность
 $tosad = array ('дождь', 'ливень', 'снег', 'снег', 'гроза', '-', 'без осадков');//Осадки
 $nwnd = array ('серевный', 'северо-восточный', 'восточный', 'юго-восточный', 'южный', 'юго-западный', 'западный', 'северо-зепедный');//напрвление ветра
 
 
 $sname = $xml->REPORT->TOWN[0]['sname'];//Название города
 $shir = $xml->REPORT->TOWN[0]['latitude'];//Широта
 $dolg = $xml->REPORT->TOWN[0]['longitude'];//Долгота
 for ($i = 0; $i <= 3; $i++)
  {
   $dats[$i]['day'] = $xml->REPORT->TOWN[0]->FORECAST[$i]['day'];
   $dats[$i]['month'] = $mnth [(int)$xml->REPORT->TOWN[0]->FORECAST[$i]['month'] - 1];
   $dats[$i]['year'] = $xml->REPORT->TOWN[0]->FORECAST[$i]['year'];
   $dats[$i]['tod'] = $sut [(int)$xml->REPORT->TOWN[0]->FORECAST[$i]['tod']];
   $dats[$i]['weekday'] = $ned [(int)$xml->REPORT->TOWN[0]->FORECAST[$i]['weekday'] - 1];
   $osad[$i]['cloud'] = $obl [(int)$xml->REPORT->TOWN[0]->FORECAST[$i]->PHENOMENA['cloudiness']];
   $osad[$i]['osad'] = $tosad [(int)$xml->REPORT->TOWN[0]->FORECAST[$i]->PHENOMENA['precipitation'] - 4];
   $osad[$i]['vozmo'] = $xml->REPORT->TOWN[0]->FORECAST[$i]->PHENOMENA['rpower'];
   $osad[$i]['vozmg'] = $xml->REPORT->TOWN[0]->FORECAST[$i]->PHENOMENA['spower'];
   $davl[$i]['max'] = $xml->REPORT->TOWN[0]->FORECAST[$i]->PRESSURE['max'];
   $davl[$i]['min'] = $xml->REPORT->TOWN[0]->FORECAST[$i]->PRESSURE['min'];
   $temp[$i]['max'] = $xml->REPORT->TOWN[0]->FORECAST[$i]->TEMPERATURE['max'];
   $temp[$i]['min'] = $xml->REPORT->TOWN[0]->FORECAST[$i]->TEMPERATURE['min'];
   $wind[$i]['max'] = $xml->REPORT->TOWN[0]->FORECAST[$i]->WIND['max'];
   $wind[$i]['min'] = $xml->REPORT->TOWN[0]->FORECAST[$i]->WIND['min'];
   $wind[$i]['napr'] = $nwnd [(int)$xml->REPORT->TOWN[0]->FORECAST[$i]->WIND['direction']];
   $vlag[$i]['max'] = $xml->REPORT->TOWN[0]->FORECAST[$i]->RELWET['max'];
   $vlag[$i]['min'] = $xml->REPORT->TOWN[0]->FORECAST[$i]->RELWET['min'];
   $komf[$i]['max'] = $xml->REPORT->TOWN[0]->FORECAST[$i]->HEAT['max'];
   $komf[$i]['min'] = $xml->REPORT->TOWN[0]->FORECAST[$i]->HEAT['min'];
  }

если что, можешь посмотреть как он работает: http://www.angelcorpc.ath.cx

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

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