![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
RSS XMLDoc не обновляется :( [D7]
jcrush © (2005-07-14 08:28:00)Вот код dll которая должна парсить инетовский RSS через XMLDocument, косяк в том, что первый раз я документ получаю правильно, далее нажимаю на другую RSS ссылку но она не открывает, единственное если форму уничтожить и создать тогда список предыдущего RSS локумента очищается и загружается тот что надо, но это не дело, не могу понять почему :(
uses ExtActns; //to be able to iuse TDownLoadURL
function DownloadURLFile(const ADPXMLBLOG, ADPLocalFile : TFileName) : boolean;
begin
Result:=True;
with TDownLoadURL.Create(nil) do
try
URL:=form1.bdmemo.SelText;
Filename:=ADPLocalFile;
try
ExecuteTarget(nil);
except
Result:=False;
end;
finally
Free;
end;
end;
procedure TForm1.ToolButton1Click(Sender: TObject);
var
ADPLocalFile : TFileName;
StartItemNode : IXMLNode;
ANode : IXMLNode;
STitle, sDesc, sLink : widestring;
begin
ADPLocalFile := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + 'temp.adpheadlines.xml';
Screen.Cursor:=crHourglass;
try
if not DownloadURLFile(form1.bdmemo.SelText, ADPLocalFile) then
begin
Screen.Cursor:=crDefault;
Raise Exception.CreateFmt('Unable to connect to the Internet, make sure you are connected!',[]);
Exit;
end;
if not FileExists(ADPLocalFile) then
begin
Screen.Cursor:=crDefault;
raise exception.Create('Can''t locate the *headlines* file?!');
Exit;
end;
form1.lv.Clear;
form1.XMLDoc.FileName := ADPLocalFile;
form1.XMLDoc.Active:=True;
StartItemNode:= form1.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;
//add to list view
with form1.LV.Items.Add do
begin
Caption := STitle;
SubItems.Add(sLink);
SubItems.Add(sDesc)
end;
ANode := ANode.NextSibling;
until ANode = nil;
finally
DeleteFile(ADPLocalFile);
Screen.Cursor:=crDefault;
end;
end;
jcrush (2005-07-14 12:14:00) [1]что никто не подскажет?