(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
Toad Data Modeler Per Seat License/Maint
СУБД Линтер Бастион. Серверная лицензия. 5 клиентских подключений
SAP® Crystal Presentation Design 2016 WIN INTL NUL
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Zend Server with Z-Ray Developer Edition - Standard
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
СУБД Oracle "с нуля"
eManual - электронные книги и техническая документация
Новые материалы
Вопросы и ответы по MS SQL Server
Мастерская программиста
Программирование на Visual Basic/Visual Studio и ASP/ASP.NET
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100