RSS Feeds mit C# in 10 Zeilen Code

Dieses Thema im Forum "Programmier Tutorials" wurde erstellt von zer0x2k, 13. Juni 2011 .

Schlagworte:
  1. 13. Juni 2011
    Moin,

    hier ein RSS Feed Reader in 10 Zeilen C#

    Wir brauchen dafür den System.ServiceModel.Syndication NameSpace.
    Er bietet SyndicationFeed und ist deutlich einfacher als die XDocument variante wie ich finde.

    Hier ein kleines Beispiel:

    In dieser Methode lade ich mir die Feeds über eine Proxy Referenz da ich hier
    sonst Probleme mit dem CrossDomain(Silverlight4) zugriff bekomme aber das sollte nicht euer Problem sein Ihr könnt auch ganz normal einen Async Download mit WebClient machen um an die Feeds zu gelangen

    Spoiler
    Code:
     public void Load(String Url)
     {
     ServiceReference.ProxyClient cl = new ServiceReference.ProxyClient();
     cl.rssProxyCompleted += new EventHandler<ServiceReference.rssProxyCompletedEventArgs>(cl_rssProxyCompleted);
     cl.rssProxyAsync(Url);
     }
    

    Wenn der Download fertig ist wird Automatisch das "Completed" Event ausgelöst...

    Spoiler
    Code:
     void cl_rssProxyCompleted(object sender, ServiceReference.rssProxyCompletedEventArgs e)
     {
     SyndicationFeed feed = SyndicationFeed.Load(XmlReader.Create(new System.IO.StringReader(e.Result)));
     }
    

    Dort brauchen wir zunächst einmal einen XmlReader der mit einem Stream gefüttert wird der wiederum aus unseren Result des Async Aufrufs besteht
    An die Results kommen wir ganz einfach über die EventArgs sprich e.Result

    Danach können wir uns ein SyndicationFeed hochziehen und das mit dem XmlReader füllen.

    Ich habe das ganze mal abgekürzt in eine Zeile Code

    Wenn wir das getan haben können wir ganz einfach auf die Eigenschaften der Einzellnen Feeds zugreifen

    Über zb. feed.Items wie im Code oben können wir eine Liste mit allen Feeds ansprechen. Dort sind dann jeweils Propertys vorhaden für Autor, Title, Beschreibung, Datum und so weiter

    Ich hoffe das Ihr das genauso cool findet wie ich xDDD

    MfG

    zer0x2k
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.