
02.05.2008, 13:32
|
|
Постоянный
Регистрация: 29.09.2007
Сообщений: 617
Провел на форуме: 3250478
Репутация:
999
|
|
Код:
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..
|
|
|