Any examples to achieve this please ?
Have a list of feeds in a list box.
Click on one and show the feed in a browser.
Cheers
Steve W
Any examples to achieve this please ?
Have a list of feeds in a list box.
Click on one and show the feed in a browser.
Cheers
Steve W
Got this working.
procedure TForm10.WebButton1Click(Sender: TObject);
begin
WebHttpRequest1.URL := 'https://damng.github.io/hackernews-rss-with-inlined-content/output.rss';
WebHttpRequest1.Execute();
end;
procedure TForm10.WebHttpRequest1Response(Sender: TObject; AResponse: string);
var
xmlDoc, title, link, description, pubDate: string;
itemNodes, titleNodes, linkNodes, descriptionNodes, pubDateNodes: string;
i: Integer;
begin
try
asm
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(AResponse, "text/xml");
var itemNodes = xmlDoc.getElementsByTagName("item");
end;
for i := 0 to Integer(itemNodes.length) - 1 do
begin
asm
var titleNodes = itemNodes[i].getElementsByTagName("title");
var linkNodes = itemNodes[i].getElementsByTagName("link");
var descriptionNodes = itemNodes[i].getElementsByTagName("description");
var pubDateNodes = itemNodes[i].getElementsByTagName("pubDate");
var title = (titleNodes.length > 0) ? titleNodes[0].textContent : "";
var link = (linkNodes.length > 0) ? linkNodes[0].textContent : "";
var description = (descriptionNodes.length > 0) ? descriptionNodes[0].textContent : "";
var pubDate = (pubDateNodes.length > 0) ? pubDateNodes[0].textContent : "";
end;
// Convert JavaScript strings to Delphi strings
title := String(title);
link := String(link);
description := String(description);
pubDate := String(pubDate);
// Do something with the extracted data
// For example, you can display it in a memo
Memo1.Lines.Add('Title: ' + title);
Memo1.Lines.Add('Link: ' + link);
Memo1.Lines.Add('Description: ' + description);
Memo1.Lines.Add('PubDate: ' + pubDate);
Memo1.Lines.Add('------------------------');
// Populate the WebStringGrid if it's available
if Assigned(WebStringGrid1) then
begin
WebStringGrid1.Cells[0, i + 1] := title;
WebStringGrid1.Cells[1, i + 1] := link;
WebStringGrid1.Cells[2, i + 1] := description;
WebStringGrid1.Cells[3, i + 1] := pubDate;
end;
end;
except
on E: Exception do
begin
// Handle any exceptions here
end;
end;
end;
When I added populating the string grid I get an error:
https://debugrss.onrender.com/
ERROR
Uncaught TypeError: Cannot read properties of undefined (reading 'cells') | TypeError: Cannot read properties of undefined (reading 'cells') at Object.CellRealElement (https://debugrss.onrender.com/RSSfeeds.js:69987:24) at Object.SetCells (https://debugrss.onrender.com/RSSfeeds.js:69193:17) at Object.WebHttpRequest1Response (https://debugrss.onrender.com/RSSfeeds.js:76822:33) at Object.cb [as FOnResponse] (https://debugrss.onrender.com/RSSfeeds.js:245:19) at Object.HandleResponse (https://debugrss.onrender.com/RSSfeeds.js:29708:42) at XMLHttpRequest.cb (https://debugrss.onrender.com/RSSfeeds.js:261:28)
I had the rows set to 200. There was 299 results. I set to 500 and the error has gone.