最近我一直在寻找如何在web页面上显示rss feed的方法,我选择 c#和asp.net作为工具。我创建了一个简单的处理函数来处理从一个url获得的rss feed。你可以直接使用这个简单的函数,或者改造成你想要的功能。
这个函数使用一个字符串rssurl作为它的参数。这个字符串包含了rss的url。它使用rssurl的值建立了一个webrequest项:
| system.net.webrequest myrequest = system.net.webrequest.create(rssurl); |
| system.net.webresponse myresponse = myrequest.getresponse(); |
| system.io.stream rssstream = myresponse.getresponsestream(); |
| system.xml.xmldocument rssdoc = new system.xml.xmldocument(); rssdoc.load(rssstream); |
| system.xml.xmlnodelist rssitems = rssdoc.selectnodes("rss/channel/item"); |
| system.xml.xmlnode rssdetail; rssdetail = rssitems.item(i).selectsinglenode("title"); |
| if (rssdetail != null) { title = rssdetail.innertext; } else { title = ""; } |
| <%@ page language="c#" %> <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <script runat="server"> public void processrssitem(string rssurl) { system.net.webrequest myrequest = system.net.webrequest.create(rssurl); system.net.webresponse myresponse = myrequest.getresponse(); system.io.stream rssstream = myresponse.getresponsestream(); system.xml.xmldocument rssdoc = new system.xml.xmldocument(); rssdoc.load(rssstream); system.xml.xmlnodelist rssitems = rssdoc.selectnodes("rss/channel/item"); string title = ""; string link = ""; string description = ""; for (int i = 0; i < rssitems.count; i++) { system.xml.xmlnode rssdetail; rssdetail = rssitems.item(i).selectsinglenode("title"); if (rssdetail != null) { title = rssdetail.innertext; } else { title = ""; } rssdetail = rssitems.item(i).selectsinglenode("link"); if (rssdetail != null) { link = rssdetail.innertext; } else { link = ""; } rssdetail = rssitems.item(i).selectsinglenode("description"); if (rssdetail != null) { description = rssdetail.innertext; } else { description = ""; } response.write("<p><b><a href='" + link + "' target='new'>" + title + "</a></b> "); response.write(description + "</p>"); } } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>untitled page</title> </head> <body> <form id="form1" runat="server"> <div> <% string rssurl = "http://www.codeguru.com/icom_includes/feeds/codeguru/rss-all.xml"; response.write("<font size=5><b>site: " + rssurl + "</b></font><br />"); processrssitem(rssurl); response.write("<hr />"); rssurl = "http://www.developer.com/icom_includes/feeds/special/dev-5.xml"; response.write("<font size=5><b>site: " + rssurl + "</b></font><br />"); processrssitem(rssurl); %> </div> </form> </body> </html> |