RSS- bzw. Atom-Feeds von Twitter, Blogs usw. lassen sich sehr einfach mit dem XmlDataSource-Control in die eigene Website einbinden. Dazu ist quasi keine einzige Zeile „richtiger“ Code notwendig, sonder lediglich zwei ASP.NET-Controls.
Das Beispiel bezieht sich explizit auf einen Twitter Atom-Feed, lässt sich aber an jeden beliebigen anderen Feed anpassen. Wichtig: Immer genau die XML-Struktur des Feeds über die Quelltextansicht anschauen. Bei Twitter sieht das z.B. so aus:
<?xml version="1.0" encoding="UTF-8"?> <rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"> <channel> <title>Twitter / unckel</title> <link>http://twitter.com/unckel</link> <atom:link type="application/rss+xml" href="http://twitter.com/statuses/user_timeline/23050865.rss" rel="self"/> <description>Twitter updates from unckel designworks / unckel.</description> <language>en-us</language> <ttl>40</ttl> <item> <title>unckel: tweet tweet!</title> <description>unckel: tweet tweet!</description> <pubDate>Wed, 18 Nov 2009 07:45:26 +0000</pubDate> <guid>http://twitter.com/unckel/statuses/5821036943</guid> <link>http://twitter.com/unckel/statuses/5821036943</link> </item> <item> ... usw ... </item> </channel> </rss>
Wichtig ist hier also der Inhalt der <items> und das wären insbesondere <title>, <pubDate> und <link>.
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="http://twitter.com/statuses/user_timeline/23050865.rss" XPath="rss/channel/item" EnableCaching="false" /> <asp:Repeater ID="Repeater1" runat="server" DataSourceID="XmlDataSource1"> <ItemTemplate> <a href="<%# XPath("link") %>"><%# XPath("title") %></a><br /> <%# XPath("pubDate") %><br /> <hr /> </ItemTemplate> </asp:Repeater>