получаем удовольствие от web-сервисов ALEXEY SHOCKOV Спецвыпуск: Хакер, номер #067, стр. 067-048-3 $docs = $this->answerDOMTree->getElementsByTagName('doc'); for ($i = 0; $i < $docs->length; $i++) { $this->append(new YandexSearchDoc($docs->item($i))); } } Теперь, чтобы получить третий документ из результатов поиска, нужно просто обратиться к переменной ответа (например $response) как к обычному массиву, то есть $response[2]. [YandexSearchDoc] В нашем случае этот класс выполняет функции обычного массива, но будет правильнее оформить его именно в класс, на случай если захочешь реализовать дополнительную функциональность. Так же, как и в предыдущем примере, мы наследуем его от ArrayObject, чтобы упростить использование класса. Ключи нашего массива — имена узлов, которые содержит документ. Значения элементов — содержание этих узлов. [работает] Итак, подошло время опробовать полученный код на практике. Однако перед началом работы с web-сервисом Яndex.XML нужно зарегистрировать IP-адрес, с которого мы будем посылать запросы, на странице сервиса (Яndex ограничивает количество бесплатных запросов одной тысячей в день). Предположим, что регистрация прошла успешно и мы можем пользоваться web-сервисом. Запустив простенький пример (он лежит на диске), получим вот такую страницу: Если кто-то заметил, мы не реализовали переход по страничкам результатов запроса к поисковой системе — оставляю это на домашнее задание. [напоследок] В интернете появляется все больше публичных web-сервисов с самыми разными и самыми широкими возможностями. Дело не в простой моде и не в причуде какой-либо компании, а во всеобщей тенденции. Все больше компаний разрабатывают программы, ориентированные на использование сервисов (Service-Oriented Architecture — SOA). Такие гиганты, как Microsoft и Sun, присоединяются. Не побоюсь сказать, что именно в этом будущее разработки любых программ, независимо от области их применения Что это такое? ПО СУТИ, WEB-СЕРВИС — ЭТО ОБМЕН ДОКУМЕНТАМИ ОПРЕДЕЛЕННОГО ФОРМАТА НА БАЗЕ СУЩЕСТВУЮЩЕГО ПРОТОКОЛА HTTP. Удобство php5 ARRAYOBJECT — ЭТО СПЕЦИАЛЬНЫЙ КЛАСС, КОТОРЫЙ ПОЗВОЛЯЕТ РАБОТАТЬ СО СВОИМИ ПОЛЯМИ КАК С ЭЛЕМЕНТАМИ ОБЫЧНОГО МАССИВА. Ссылки по теме ТИП: WWW http://xml.yandex.ru — СТРАНИЧКА WEB-СЕРВИСА ЯNDEX.XML. http://en.wikipedia.org/wiki/Web_services — СЖАТОЕ ОПИСАНИЕ СТРУКТУРЫ РАБОТЫ WEB-СЕРВИСОВ, МНОЖЕСТВО ПОЛЕЗНЫХ ССЫЛОК ПО ТЕМЕ. ДЛЯ ТЕХ, КТО ЗНАЕТ АНГЛИЙСКИЙ. http://sh.sweetykitten.ru/yandex.xml — РЕАЛЬНО РАБОТАЮЩИЙ ПРИМЕР СКРИПТА, ОПИСАННОГО В СТАТЬЕ. |