Thema: Delphi RSS-Feed einlesen

Einzelnen Beitrag anzeigen

Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#1

RSS-Feed einlesen

  Alt 12. Sep 2004, 20:45
Hallo zusammen,

ich möchte aus folgenden RSS-Feed die "<item>" auslesen (Aufbau):

Delphi-Quellcode:
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN"
 "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">

<channel>
<title>WarCry-Realm</title>
<link>http://worker/warcry/</link>
<description>WarCry-Realm :: Alles rund um das CCG</description>
<language>de-de</language>
<image>
 <title>WarCry-Realm</title>
 <url>http://worker/warcry/images/logo.jpg</url>
 <link>http://worker/warcry/</link>
</image>
<webMaster>Admin@warcry-realm.de</webMaster>
<item>
<title>Eindrücke und Bilder vom Games Day 2004</title>
<link>http://worker/warcry/modules.php?op=modload&amp;name=News&amp;file=article&amp;sid=72</link>
<description>Auf der offiziellen Seite von Games-Workshop kann man sich ein paar Bilderchen vom diesjährigen Games Day anschauen. Auch der Sabertooth-Games Stand ist mit verewigt. </description>
</item>
<item>
....
</item>
</channel>
</rss>
Ich habe mal mein gesamtes Grundgerüst angehängt, da ich den Fehler einfach nicht erkennen kann (habe mich an das XML-Tutorial gehalten):

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, MSXML2_TLB, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  xmlDoc: IXMLDOMDocument2;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  myNodeList: IXMLDOMNodeList;
  subNode: IXMLDOMNode;
  strDummy: String;
  ix: Integer;
begin
  xmlDoc := CoDOMDocument40.Create;
  xmlDoc.setProperty('NewParser', true);
  strDummy:=ExtractFilePath(Application.ExeName)+'backend.rss';
  xmldoc.load(strDummy);

  myNodeList := xmldoc.documentElement.selectNodes('//channel/item'); <-- Access Violation
  for ix:=0 to myNodeList.length-1 do
  begin

  end;

end;

end.
Bin für jeden Tip dankbar, da ich mit XML gerade anfange zu experimentieren.

Gruß Igotcha
  Mit Zitat antworten Zitat