Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Wie RSS Feed mit href auslesen? (https://www.delphipraxis.net/148393-wie-rss-feed-mit-href-auslesen.html)

Norbert987 1. Mär 2010 01:26


Wie RSS Feed mit href auslesen?
 
Hallo Zusammen,

da ich denke, dass XML ein interessantes Format ist, womit man mal arbeiten sollte, wollte ich mir einen custom RSS Reader machen, quasi als erstes "XML Projekt". Soweit läuft das auch, nur bekomme ich kein wert für den Link (Auszug):

XML-Code:
<entry>
  <title>123</title>
  <link href="www.sowieso.de" />
</entry>
Hat jemand eine Idee, wie ich an www.sowieso.de komme? Node.Text gibt leider einen leeren String zurück.

Vielen Dank im Vorraus, Tobias

PS: Ich arbeite mit TXMLDocument und der Header sieht wie folgt aus:
<?xml version="1.0" encoding="UTF-8"?>

sx2008 1. Mär 2010 06:41

Re: Wie RSS Feed mit href auslesen?
 
href ist ein Attribut und kein Element.
Um ein Attribut auszulesen wirst du wohl node.GetAttribute('href') aufrufen müssen.
Die genaue Syntax hängt von deinem XML Parser ab.

Norbert987 1. Mär 2010 11:43

Re: Wie RSS Feed mit href auslesen?
 
Vielen Dank, nun läufts :)

Delphi-Quellcode:
function getLink(node : IXMLNode) : String;
Begin
  result := vartostr(node.Childnodes.Nodes[1].Attributes['href']);
end;

himitsu 1. Mär 2010 11:47

Re: Wie RSS Feed mit href auslesen?
 
VarToStr macht Delphi eigentlich automatisch, wenn man einen Variant an einen String übergibt.

Und da du ja den Link auslesen willst, macht es sich da nicht schlecht diesen auch direkt aufzurufen.
Delphi-Quellcode:
function getLink(node : IXMLNode) : String;
Begin
  result := node.Childnodes.Nodes['link'].Attributes['href'];
end;
Stell dir mal vor da wären noch weitere Nodes vorhanden oder titel und link wären mal vertauscht, dann würde es Probleme geben.

Norbert987 1. Mär 2010 18:22

Re: Wie RSS Feed mit href auslesen?
 
Oh klasse, darauf wäre ich jetzt nicht gekommen, danke!
VarToStr ist drin, weil bei einem nicht vorhandenen Wert eine Exception kommt. So ists ruhiger, wenn ich ausprobiere :)

Lg, Tobias


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz