Показать сообщение отдельно

  #6  
Старый 02.05.2008, 13:32
-Hormold-
Постоянный
Регистрация: 29.09.2007
Сообщений: 617
Провел на форуме:
3250478

Репутация: 999


Отправить сообщение для -Hormold- с помощью ICQ
По умолчанию

Код:
Function Rss(Url:String):String;
Function Exists(S:String):Boolean;
begin
 if (S='description') or (s='title') or (s='link') then result:=true else result:=false;
end;
var
 i,k:integer;
 s:String;
 IdHTTP:TIdHTTP;
 XMLDocument:TXMLDocument;
Begin
 IdHTTP:=TIdHTTP.Create(nil);
 XMLDocument:=TXMLDocument.Create(Application);
 try
  XMLDocument.XML.Text:= IdHTTP.Get(Url);
  XMLDocument.Active:=true;

  i:=0;
  while i<>9 do begin
   if i>XMLDocument.DocumentElement.ChildNodes[0].ChildNodes.count then break;
   for k:=0 to XMLDocument.DocumentElement.ChildNodes[0].ChildNodes[i].ChildNodes.Count-1 do begin
     if (XMLDocument.DocumentElement.ChildNodes[0].ChildNodes[i].ChildNodes[k].LocalName='title') and (s<>'') then s:=s+#13#10+#13#10;
     if Exists(XMLDocument.DocumentElement.ChildNodes[0].ChildNodes[i].ChildNodes[k].LocalName) then
       s:=s+XMLDocument.DocumentElement.ChildNodes[0].ChildNodes[i].ChildNodes[k].text+#13#10;;
   end;
   inc(i);
  end;
  result:=s;
 finally
  XMLDocument.Free;
  IdHTTP.Free;
 end;
  end;
Работает:
Код:
s:=Rss('http://www.1-y.ru/nic.rss');
Ннработает:
Код:
s:=Rss('http://www.webmoney.ru/rss.xml');
И почему 2 или 1 новость?
Можно сделать так чтобы были 5-10 новостей

Последний раз редактировалось -Hormold-; 02.05.2008 в 13:41..
 
Ответить с цитированием