Препарируем RSS Никита Кислицин Хакер, номер #076, стр. 076-120-2 Уровнем ниже от <rss> лежит элемент <channel>, который встречается однажды и содержит всю основную информацию об RSS-канале и о его содержимом. Элемент <channel> обязательно имеет в себе троих потомков: title – заголовок блога, link – ссылка на соответствующий ленте web-ресурс и description – описание ленты. Внутри этого элемента может присутствовать еще куча тэгов, однако основной интерес для нас будут представлять элементы <item>, в которых будет находится информация о публикациях. Внутри <item> может содержаться большое число элементов: title, link, description, category, comments, enclosure, guid, pubDate и source. Назначение каждого из этих полей, в общем-то, ясно из названий, однако, чтобы тебе было понятнее, я просто приведу пример небольшого RSS-документа: Пример RSS-документа <?xml version="1.0" encoding="windows-1251" ?> <rss version="2.0"> <channel> <title>Мои крутые новости</title> <link>http://www.coolnews.ru</link> <description>Офигенные новости из жизни заводчика уругвайских тушканов.</description> <image> <url>http://www.coolnews.ru/mylogo.gif</url> <link>http://www.coolnews.ru</link> <title>Мои крутые новости</title> </image> <lastBuildDate>10 Mar 2005 15:25:46 +0300</lastBuildDate> <item> <title>У тушкана Кики родилась двойня!</title> <link>http://www.coolnews.ru/news.php?nid=4312</link> <description>Сегодня в пять часов утра у Кики родилась прекрасная двойня – мальчик и девочка. Вес новорожденных составляет, соответственно, 120 и 95 граммов.</description> <pubDate>09 Mar 2005 20:10:09 +0300</pubDate> <guid>http://www.coolnews.ru/news.php?nid=4312</guid> </item> </channel> </rss> Вот такой вот формат. Обрати внимание, элемент <image> позволяет указать соответствующую твоему каналу картинку. Что касается остальных неизвестных тебе тэгов, то знай, что <pubDate> определяет время публикации, а <guid> - уникальный идентификатор записи, например, соответствующий ей web-адрес. И что здесь красивого? Ты, наверное, еще не совсем осознал тот факт, чем же все это так здорово. Абсолютно согласен с тобой: просматривать новости, разглядывая теги xml-документа не самое романтичное занятие. Однако пойми простую вещь: перед просмотром лента должна быть сформатирована, то есть ее xml-представление служит лишь источником необходимой информации, а оформление определяется клиентским приложением, при помощи которого пользователь просматривает твою ленту. На самом деле, написать такое приложение совсем даже не сложно, однако в настоящий момент уже создано достаточное количество функциональных программ, которые оформляются как в виде отдельных приложений, так и в форме плагинов к уже существующим продуктам. |