RSS — семейство XML-форматов, предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п. Информация из различных источников, представленная в формате RSS, может быть собрана, обработана и представлена пользователю в удобном для него виде специальными программами-агрегаторами.То есть, парсинг RSS, по сути, ничем не отличается от парсинга XML.
Текст любого RSS-представления содержит как информацию статического плана (информацию о вашем сайте), так и информацию, которая обновилась, "новости". Каждая запись заключена внутри тега <item>, который содержит элементы TITLE, URL, DESCRIPTION, а также некоторые другие.
Я уже писала о компоненте TXMLDocument, с помощью которого достаточно легко разобрать любой XML-документ. Для парсинга RSS — то, что надо! Сначала обращаемся к ITEM, а потом и ко вложенным элементам. Перед парсингом xml-файл можно загрузить на локальную машину так, как я разбирала в предыдущем примере.
Часть кода (непосредственный парсинг XML):
XMLDoc.FileName := LocalFileName;
XMLDoc.Active:=True;
StartItemNode:=XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode('item');
ANode := StartItemNode;
repeat
STitle := ANode.ChildNodes['title'].Text;
sLink := ANode.ChildNodes['link'].Text;
sDesc := ANode.ChildNodes['description'].Text;
// делаем что-нибудь с результатами, например, добавляем в листвью
with LV.Items.Add do
begin
Caption := STitle;
SubItems.Add(sLink);
SubItems.Add(sDesc)
end;
ANode := ANode.NextSibling;
until ANode = nil;
а как бы все это на php, а...... а нельзя ли все-таки на php....)
ОтветитьУдалитьМожно и на php, мне не сложно... Но примеров на php в сети и так много) В общем, я учту пожелание и постараюсь пометить примеры еще и на php)
ОтветитьУдалитьА как написать сборщик адресов сайтов из каталогов? Подскажите, пожалуйста, с чего начать?
ОтветитьУдалитьПодскажите пожалуйста, значение строчки XMLDoc.Active:= true;
ОтветитьУдалить