Thema: Delphi RDF auslesen

Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: RDF auslesen

  Alt 13. Feb 2004, 19:03
Hi,
notgedrungen, habe ich das folgendermaßen gelöst:
Delphi-Quellcode:
procedure TfrmMain.UpdateList;
var
  sContent, sOut: string;
  i: integer;
  xmlTopics: IXMLDOMNodeList;
begin
  lbTopics.Items.Clear;
  sContent := idhDownloader.Get(IDS_FILENAME);
  xmlDoc.loadXML(sContent);

  if xmlDoc.parseError.errorCode <> 0 then begin
    MessageDlg('Fehler beim Laden des RDF-Feeds:'+#13#10
                  +'Die XML-Datei ist fehlerhaft! Bitte [email]chris@csd-software.net[/email] '+#13#10
                  +'kontaktieren.', mtError, [mbOK], 0);
    Close();
  end;

  xmlTopics := xmlDoc.documentElement.childNodes;
  for i := 2 to xmlTopics.length-1 do begin
    lbTopics.Items.Add(xmlTopics.item[i].childNodes.item[0].text);
  end;
end;
Nun versuche ich noch dazu den ensprechenden Link finden:
Delphi-Quellcode:
procedure TfrmMain.lbTopicsDblClick(Sender: TObject);
var
  sURL: string;
begin
  if lbTopics.ItemIndex = -1 then Exit;

  sURL :=xmlDoc.documentElement.selectSingleNode('item[title="'+lbTopics.Items[lbTopics.ItemIndex]+'"]').text;

  if sURL <> 'then
    ShellExecute(self.Handle, 'open', PChar(sURL), nil, nil, SW_SHOW);
end;
Allerdings erhalte ich bei dir Zuweisung von sURL eine Zugriffsverletzung. Woran liegt das? Lt. dem Feed sind die Namen der Nodes alle richtig.

Chris
  Mit Zitat antworten Zitat