Четверг
16 Май 24, 16:39
BYDEM.RU Web Стандарт
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Категории каталога
PHP [18]
HTML [3]
CSS [2]
Общая информация [7]
MySQL [3]

Мини-чат
200

Главная » Статьи » Учебники » PHP

PHP5 - SimpleXML

Приступим, непосредственно, к делу.

XML файл будем брать у gismeteo.ru по адресу: http://informer.gismeteo.ru/xml/26063_1.xml
Данный XML файл содержит сводку погоды для Санкт-Петербурга.

Начинаем!

<?php
//считываем содержимое файла в переменную $xml
$xml = file_get_contents('http://informer.gismeteo.ru/xml/26063_1.xml');
//передаём содержимое xml файла расширению SimpleXML
$res = simplexml_load_string($xml);
//Запускаем цикл для отображения погоды на сегодня и завтра
for ($i = 0; $i < count ($res->REPORT->TOWN->FORECAST); $i++) {

//время суток прогноза погоды
switch ((int)$res->REPORT->TOWN->FORECAST[$i]->attributes()->tod):
case 0:
$time = 'Ночь';
break;
case 1:
$time = 'Утро';
break;
case 2:
$time = 'День';
break;
case 3:
$time = 'Вечер';
break;
default:
$time = 'Время суток не известно';
break;
endswitch;

//выбор облачности
switch ((int) $res->REPORT->TOWN->FORECAST[$i]->PHENOMENA->attributes()->cloudiness):
case 0:
$cloudiness = 'Ясно';
break;
case 1:
$cloudiness = 'Малооблачно';break;
case 2:
$cloudiness = 'Облачно';
break;
case 3:
$cloudiness = 'Пасмурно';
break;
default :
$cloudiness = 'Облачность не определена';
break;
endswitch;

//определение типа осадков
switch ((int) $res->REPORT->TOWN->FORECAST[$i]->PHENOMENA->attributes()->precipitation):
case 4:
$precipitation = 'Дождь';
break;
case 5:
$precipitation = 'Ливень';
break;
case 6:
case 7:
$precipitation = 'Снег';
break;
case 8:
$precipitation = 'Гроза';
break;
case 9:
$precipitation = 'Нет данных';
break;
case 10:
$precipitation = 'Без осадков';
break;
default :
$precipitation = 'Осадки не определены';
break;
endswitch;

//день на который осуществляется прогноз
$day = $res->REPORT->TOWN->FORECAST[$i]->attributes()->day;
//месяц на который осуществляется прогноз
$month = $res->REPORT->TOWN->FORECAST[$i]->attributes()->month;
//год на который осуществляется прогноз
$year = $res->REPORT->TOWN->FORECAST[$i]->attributes()->year;
//минимальная температура
$t_min = $res->REPORT->TOWN->FORECAST[$i]->TEMPERATURE->attributes()->min;
$t_max = $res->REPORT->TOWN->FORECAST[$i]->TEMPERATURE->attributes()->max;

//выводим пользователю прогноз
echo $day.'.'.$month.'.'.$year.' '.$time.'<br />';echo 'Температура воздуха: '.$t_min.'-'.$t_max.'<br />';
echo 'Облачность: '.$cloudiness.'<br />';
echo 'Осадки: '.$precipitation.'<br /><br />';
}
?>

Если вы получите ошибку вида: call to undefined function simplexml_load_string(), это говорит о том, что расширение SimpleXML не стоит у вас на сервере.

Код данного скрипта хорошо прокомментирован и в нём не сложно разобраться.
Также вы можете открыть сам XML файл и рассмотреть более детально функционирование скрипта.

Пример работы скрипта вы можете увидеть по адресу http://wapcoder.com/simplexml.php

Автор статьи: windoctor
e-mail: admin@wapcoder.com, admin@windoctor.org
Сайт автора: http://sultanov.net, http://wapcoder.org, http://windoctor.org

Все вопросы вы можете задать на форуме wapcoder.com или по e-mail
При перечатке материалов необходимо установить видимую ссылку на http://wapcoder.com

Категория: PHP | Добавил: bydem (15 Сен 07)
Просмотров: 744 | Рейтинг: 5.0/1 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Поиск

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Copyright MyCorp © 2024