(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Windows RSS Platform в Delphi. Интерфейс IFeed.

lad

Сегодня мы рассмотрим методы и свойства интерфейса IFeed, который предоставляет нам всё необходимое для работы с RSS-каналом сайта.

Интерфейс IFeed предназначен в первую очередь именно для работы с каналом, а не отдельным элементом фида, соответственно сегодня не пойдет речи о том как прочитать заголовки постов и т.д. - только основа работы с каналами.

Вначале рассмотрим методы.

Методы интерфейса IFeed

Методы AsyncDownload и CancelAsyncDownload

procedure AsyncDownload; safecall
procedure CancelAsyncDownload; safecall

AsyncDownload начинает, а CancelAsyncDownload прерывает асинхронную загрузку содержимого RSS-канала.

Метод Delete

procedure Delete
Удаляет канал из списка в IFeedsManager'e.

Метод Download

procedure Download
Начинает синхронную загрузку содержимого фида.

Метод GetItem

function GetItem(itemId: Integer): IDispatch; safecall
Возвращает из фида отдельнй элемент (IFeedItem) по его itemId или nil , если элемент не найден.

Метод MarkAllItemsRead

procedure MarkAllItemsRead; safecall
Отмечает все элементы фида как "прочитанные".

Метод Merge

procedure Merge(const feedXml: WideString; const feedUrl: WideString); safecall
Объединяет указанный XML-код с указанным URL.

feedXML - XML-код, подлежащий объединению;

feedURL - URL с которого будет грузиться новый фид для объединения.

XML-должен быть составлен по всем правилам RSS 2.0., а URL должен начинаться либо с http, либо https.

Метод Move

procedure Move(const newParentPath: WideString); safecall
Переносит канал в новую директорию newParentPath . Перед тем как воспользоваться методом необходимо проверить существование пути.

Метод Rename

procedure Rename(const Name: WideString); safecall
Изменяет имя канала на Name . Новое имя канала не должно содержать слэшей - эти символы зарезервированы как разделители пути.

Метод XML

function Xml(Count: Integer; sortProperty: FEEDS_XML_SORT_PROPERTY
sortOrder: FEEDS_XML_SORT_ORDER; filterFlags: FEEDS_XML_FILTER_FLAGS
includeFlags: FEEDS_XML_INCLUDE_FLAGS): WideString; safecall
Возвращает XML RSS-канала.

Count - количество элементов фида, которое должно быть загружено.

sortProperty - способ сортировки содержимого. Может принимать одно из следующих значений:

  • FXSP_NONE - не сортировать.
  • FXSP_PUBDATE - сортировать по дате публикации.
  • FXSP_DOWNLOADTIME - сортировать по времени загрузки.

sortOrder - направление сортировки элементов. Может принимать одно из следующих значений:

  • FXSO_NONE - не применять направление сортировки.
  • FXSO_ASCENDING - сортировать от первого до последнего, или от меньшего к большему.
  • FXSO_DESCENDING сортировать с последнего к первому, или в порядке убывания.

filterFlags - параметр, указывающий стоит ли включать в содержимое элементы по их метке о прочтении. Может принимать одно из следующих значений:

  • FXFF_ALL - включать все элементы.
  • FXFF_UNREAD - включать в содержимое только непрочитанные элементы.
  • FXFF_READ - включать только прочитанные элементы.

includeFlags - параметр, указывающий на то, стоит ли включать в исходник пространства имен для канала. Принимает одно из следующих значений:

  • FXIF_NONE - вернуть только XML-разметку.
  • FXIF_CF_EXTENSIONS - возвращать разметку и дополнительное содержимое канала.

Свойства интерфейса IFeed

Свойство Copyright

property Copyright: WideString read Get_Copyright
Возвращает копирайт фида.

Свойство Description

property Description: WideString read Get_Description
Возвращает описание RSS-канала.

Свойство DownloadEnclosuresAutomatically

property DownloadEnclosuresAutomatically: WordBool read Get_DownloadEnclosuresAutomatically
write Set_DownloadEnclosuresAutomatically
Указывает будет ли содержимое RSS-канала обновляться автоматически.

Свойство DownloadStatus

property DownloadStatus: FEEDS_DOWNLOAD_STATUS read Get_DownloadStatus
Возвращает текущий статус загрузки фида или его части. Может принимать одно из следующих значений:

  • FDS_NONE - попыток загрузить фид не было.
  • FDS_PENDING - скачивание поставлено в очередь.
  • FDS_DOWNLOADING - загрузка продолжается.
  • FDS_DOWNLOADED - загрузка завершена.
  • FDS_DOWNLOAD_FAILED - произошла ошибка.

Свойство DownloadUrl

property DownloadUrl: WideString read Get_DownloadUrl
Возвращает URL с которого производится загрузка канала.

Свойство Image

property Image: WideString read Get_Image
Возвращает URL на изображение для RSS-канала.

Свойство Interval

property Interval: Integer read Get_Interval write Set_Interval
Возвращает или устанавливает промежуток времени (в минутах) через который будет производится автоматическое обновление фида.

Свойство IsList

property IsList: WordBool read Get_IsList
Возвращает True , если фид является списком.

Свойство ItemCount

property ItemCount: Integer read Get_ItemCount
Возвращает количество элементов канала.

Свойство Items

property Items: IDispatch read Get_Items
Возвращает перечислитель (IFeedEnum) для элементов фида (IFeedItem).

Свойство Language

property Language: WideString read Get Language
Возвращает язык для RSS-канала.

Свойство LastBuildDate

property LastBuildDate: TDateTime read Get_LastBuildDate;
 

Возвращает дату последнего обновления содержимого фида. Может вернуть 0 в случае, если канал только что добавлен или он никогда не загружался.

Свойство LastDownloadError

property LastDownloadError: FEEDS_DOWNLOAD_ERROR read Get_LastDownloadError;
 

Возвращает последнюю ошибку загрузки фида. Может принимать одно из следующих значений:

  • FDE_NONE - канал был загружен успешно.
  • FDE_DOWNLOAD_FAILED - фид не может быть загружена. Попробуйте скачать канал позже..
  • FDE_INVALID_FEED_FORMAT - XML канала является неподдерживаемым форматом. О поддерживаемых форматах см. первый пост.
  • FDE_NORMALIZATION_FAILED - Недействительный XML, или код содержит ошибки.
  • FDE_PERSISTENCE_FAILED - фид не может быть сохранен в локальное хранилище.
  • FDE_DOWNLOAD_BLOCKED - политика безопасности не допускает загрузки с указанного URL.
  • FDE_CANCELED - скачивание было прервано.
  • FDE_UNSUPPORTED_AUTH - сервер возвращает статус 401 Unauthorized, 402, или 403 Forbidden.
  • FDE_BACKGROUND_DOWNLOAD_DISABLED Background Intelligent Transfer Service (BITS) был отключен.
  • FDE_NOT_EXIST - фид больше не существует. Сервер возвращает статус 400 Bad Request, 404 Not Found, 406, 410.
  • FDE_UNSUPPORTED_MSXML - неверная версия Microsoft XML (MSXML). Пользователю необходимо обновлять локальные версии MSXML.
  • FDE_UNSUPPORTED_DTD - Каналы с DTD-ссылками не поддерживаются.
  • FDE_DOWNLOAD_SIZE_LIMIT_EXCEEDED - источник XML превышает максимально допустимый размер. Эта ошибка также относится к фидам, которые не могут быть загружены через BITS (HTTP Range) запросы.Предел размера по умолчанию составляет 15 мегабайт (Мб). Для увеличения или уменьшения значения по умолчанию необходимо изменение значений реестра
  • FDE_ACCESS_DENIED - сервер вернул HTTP 403 Отказано в доступе ошибка.
  • FDE_AUTH_FAILED - аутентификация на сервере не удалось (сервер возвращает 401 статус три раза подряд)
  • FDE_INVALID_AUTH - запрос на аутентификацию не прошел. Windows RSS Platform не поддерживает проверку подлинности прокси.

Свойство LastDownloadTime

property LastDownloadTime: TDateTime read Get_LastDownloadTime;
 

Время последней успешной попытки обновления содержимого фида.

Свойство LastWriteTime

property LastWriteTime: TDateTime read Get_LastWriteTime;
 

Возвращает дату и время последнего изменения фида.

Свойство Link

property Link: WideString read Get_Link;
 

Возвращает URL фида.

Свойство LocalEnclosurePath

property LocalEnclosurePath: WideString read Get_LocalEnclosurePath;
 

Возвращает путь к локальному хранилищу содержимого RSS-канала.

Свойство LocalId

property LocalId: WideString read Get_LocalId;
 

Возвращает GUID для фида.

Свойство MaxItemCount

property MaxItemCount: Integer read Get_MaxItemCount write Set_MaxItemCount;
 

Возвращает или устанавливает максимальное количество элементов фида, которые будут загружены.

Свойство Name

property Name: WideString read Get_Name;
 

Возвращает имя RSS-канала.

Свойство Parent

property Parent: IDispatch read Get_Parent;
 

Возвращает интерфейс родителя RSS-канала ( IFeedFolder ).

Свойство Path

property Path: WideString read Get_Path;
 

Возвращает путь до текущего RSS-канала в Feed-менеджере.

Свойство PubDate

property PubDate: TDateTime read Get_PubDate;
 

Возвращает дату и время публикации фида.

Свойство SyncSetting

property SyncSetting: FEEDS_SYNC_SETTING read Get_SyncSetting write Set_SyncSetting;
 

Возвращает или устанавливает свойства синхронизации содержимого RSS-канала. Может принимать одно из следующих значений:

  • FSS_DEFAULT - использовать определенное системой DefaultInterval значение (24 часа).
  • FSS_INTERVAL - использовать значение интервала определенного в свойстве фида.
  • FSS_MANUAL - не использовать автоматическое обновление фида.
  • FSS_SUGGESTED - использовать значение свойства Ttl для RSS-канала.

Свойство Title

property Title: WideString read Get_Title;
 

Возвращает заголовок RSS-канала.

Свойство Ttl

property Ttl: Integer read Get_Ttl;
 

Возвращает время жизни фида, т.е. время в минутах в течение которого фид будет находиться в кэше до обновления содержимого из источника.

Свойство UnreadItemCount

property UnreadItemCount: Integer read Get_UnreadItemCount;
 

Возвращает количество непрочитанных элементов фида.

Вот, пожалуй основные методы и свойства интерфейса IFeed. Как видите, с помощью этого интерфейса можно вытянуть максимум информации по каналу, начиная от копирайтов и картинок для канала и, заканчивая XML-кодом, приложив к которому свои навыки по работе с NativeXML или MSXML можно на ходу проводить поиск по содержимому всего канала, определенных фраз типа "лимузины санкт-петербург", "программирование в Delphi", "новости" и т.д. Осталось рассмотреть работу ещё одного интерфейса - IFeedItem (элемент фида) и можно будет написать небольшой примерчик иллюстрирующий работу с Windows RSS Platform во всей её красе. Но это уже в следующем посте. Оставайтесь с нами.



 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 18.04.2011 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Stimulsoft Reports.Ultimate Single License Includes one year subscription
Traffic Inspector GOLD 5 Учетных записей
VMware Horizon Apps Standard, v7 : 10 Pack (Named User)
ABBYY Lingvo x6 Многоязычная Домашняя версия, электронный ключ
Quest Software. Toad for SQL Server Development Suite
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
СУБД Oracle "с нуля"
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Новые материалы
Программирование на Visual Basic/Visual Studio и ASP/ASP.NET
Мастерская программиста
Работа в Windows и новости компании Microsoft
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100