Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Heise News Feed auslesen (https://www.delphipraxis.net/82909-heise-news-feed-auslesen.html)

Piro 21. Dez 2006 22:14


Heise News Feed auslesen
 
Guten Abend,

ich verzweifel. Ich bekomme immer einen Fehler beim Einlesen des XML Datei des Heise News Feed.

XML Aufbau
XML-Code:
<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://my.netscape.com/rdf/simple/0.9/">
 <channel>
    <title>heise online News</title>
    <link>http://www.heise.de/newsticker/</link>
    <description>Nachrichten nicht nur aus der Welt der Computer</description>
 </channel>
 <item>
    <title>"Killerspiele": Selbstkontrolleinrichtung wehrt sich gegen Verleumdung</title>
    <link>http://www.heise.de/newsticker/meldung/82894/from/rss09</link>
</item>
...
</rdf:RDF>
Folgenden Code benutze ich, der übrigens funktioniert, wenn ich die XML Datei von ZDF Heute benutze.
Code:
function GetNews: string;
var
 XMLNode, StartItemNode : IXMLNode;
begin
 try
   frm_screensaver.XMLDoc.LoadFromFile(ExtractFilePath(Application.ExeName)+'\news.xml');
   frm_screensaver.XMLDoc.Active := True;

   StartItemNode := frm_screensaver.XMLDoc.DocumentElement.First.ChildNodes.FindNode('item');
   XMLNode := StartItemNode;
...
End;
XMLNode, StartItemNode bleiben leer. Warum? Die Struktur der XML Datei von ZDF Heute sind doch genau so aus.
XML-Code:
<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
 <channel>
   <title>ZDFheute Nachrichten</title>
   <link>http://www.heute.de</link>
   <description>Nachrichten aus der ZDFheute-Redaktion</description>
   <language>de-de</language>
   <copyright>Copyright Zweites Deutsches Fernsehen, ZDF</copyright>
   <webMaster>webmaster@zdf.de</webMaster>
   <ttl>30</ttl>
   <image>
     <title>ZDFlogo</title>
     <url>http://www.heute.de/ZDFheute/logo.gif</url>
     <link>http://www.heute.de</link>
   </image>
  <item>
    <title><![CDATA[ Krankenkassen heben Beiträge an ]]></title>
    <description><![CDATA[ Nach anderen großen Kassen haben auch weitere Allgemeine Ortskrankenkassen
      sowie die Kaufmännische Krankenkasse KKH eine Beitragssatz-Erhöhung zum Jahresanfang
      beschlossen. Am bislang deutlichsten steigen die Beiträge bei der AOK Rheinland-Pfalz.]]>
    </description>
    <link>http://www.heute.de/ZDFheute/inhalt/26/0,3672,4288282,00.html</link>
  </item>
 </channel>
</rss>
Hoffe mir kann einer helfen. Bin noch nicht ganz so fit mit xml. Kennt einer ein gutes Buch?

Khabarakh 21. Dez 2006 22:17

Re: Heise News Feed auslesen
 
item ist bei Heise kein Child von Channel.
Der XML-Wiki-Artikel sollte vollkommen genügen.

Piro 22. Dez 2006 07:37

Re: Heise News Feed auslesen
 
Irgendwie will es mir nicht gelingen.

Suche nach dem 1. Item in der heise xml
Delphi-Quellcode:
StartItemNode := frm_screensaver.XMLDoc.DocumentElement.ChildNodes.FindNode('item');
StartItemNode bleibt immer noch leer. Kleiner Denkanstoss bzw. Korrektur meines Codes.

Danke, Sven

marabu 22. Dez 2006 09:31

Re: Heise News Feed auslesen
 
Hallo Sven,

schau dir mal diesen Beitrag an: klick

Wenn du da selectNodes('//item') verwendest, dann hast du schon die halbe Miete.

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 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