最近我一直在寻找如何在web页面上显示RSS Feed的方法,我选择 C#和ASP.NET作为工具。我创建了一个简单的处理函数来处理从一个URL获得的RSS Feed。你可以直接使用这个简单的函数,或者改造成你想要的功能。
这个函数使用一个字符串rssURL作为它的参数。这个字符串包含了RSS的URL。它使用rssURL的值建立了一个WebRequest项:
System.Net.WebRequest myRequest = System.Net.WebRequest.Create(rssURL); |
这个请求的响应将会被放到一个WebResponse对象里:
System.Net.WebResponse myResponse = myRequest.GetResponse(); |
然后这个WebResponse对象被用来建立一个流来取出XML的值:
System.IO.Stream rssStream = myResponse.GetResponseStream(); |
然后可以使用一个XmlDocument对象来存储流中的XML内容。XmlDocument对象用来调入XML的内容:
System.Xml.XmlDocument rssDoc = new System.Xml.XmlDocument(); rssDoc.Load(rssStream); |
因为RSS Feed不只是一个XML文件,我们可以假设里面包含了一些RSS标准的规定。这里,我们假设使用了RSS 2.0。你可以从http://blogs.law.harvard.edu/tech/rss里得到规范的详细内容。
具体的来说,每个项应该在rss/channel/里。使用XPath表达,一个项节点列表可以如下方式创建:
System.Xml.XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item"); |
rssItems存储了从RSS里获得所有项节点的信息。这样就可取得内部所需要的信息了。这里,标题、链接和每个项的描述将会被显示。在rssItems中存储的每个项,每个标记(tag)元素都可以用SelectSingleNode方法提取出来。返回的值将被赋给一个XMLNode对象。以下代码获取了一个标题节点:
System.Xml.XmlNode rssDetail; rssDetail = rssItems.Item(i).SelectSingleNode("title"); |
现在标记需要被提取出来,使用InnerText完成这项工作。在调用SelectSingleNode之后,可以用rssDetail来测试格式化的RSS XML是否包含某些标记:
if (rssDetail != null) { title = rssDetail.InnerText; } else { title = ""; } |
这样,你就完成了从一个Feed里获取RSS内容的工作。剩下的工作就是调用这个方法来显示Feed的内容了。以下是一个使用ASP.NET完成的完整的例子:
<%@ 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> |
显示结果如下:
相关推荐
在这个Rss阅读器中,很可能使用了Web Forms,因为它是一个较早的ASP.NET开发模型,适合初学者和快速原型开发。 jQuery是一个流行的JavaScript库,它简化了DOM操作、事件处理、动画和Ajax交互。在这个Rss阅读器中,...
在这个案例中,"ASP.NET-[其他类别]jquery+.net实现简单的Rss阅读器.zip" 提供了一个教程,展示了如何结合jQuery和.NET技术来创建一个基本的RSS(Really Simple Syndication)阅读器。RSS是一种用于发布和订阅内容的...
标题中的“jquery+.net实现简单的Rss阅读器_rss”表明这是一个使用jQuery库与.NET框架共同构建的简单RSS阅读器项目。RSS(Really Simple Syndication)是一种内容发布格式,允许用户订阅并获取网站的更新信息,如...
ASP.NET RSS阅读器是一款基于微软的ASP.NET技术开发的在线应用程序,主要用于订阅和查看RSS(Really Simple Syndication)源。RSS是一种XML格式,用于发布新闻、博客和其他定期更新的网络内容,使得用户无需访问每个...
总的来说,这个基于ASP.NET+C#的RSS Web Control为Web开发者提供了一种高效、灵活的方式,让他们能够轻松地在自己的应用中集成RSS阅读功能,提升用户体验,同时减少了处理XML和网络请求的复杂性。通过深入理解和利用...
1. **ASP.NET基础**:ASP.NET是微软开发的Web应用程序框架,用于构建动态网站、Web应用和服务。C#是其常用的编程语言。 2. **RSS原理**:RSS是一种XML标准,允许内容发布者创建可订阅的XML数据源,用户可以使用RSS...
ASP.NET RSS订阅是一种常见的Web应用程序开发技术,用于创建和分发新闻和其他定期更新的内容。RSS,全称Really Simple Syndication,是一种XML格式,允许用户通过RSS阅读器或聚合器订阅和获取网站的最新内容,无需...
综上所述,这个"MVC在线RSS阅读器(ASP.NET 4.0)"项目展示了如何利用现代Web开发技术和框架构建一个实用的在线服务。它不仅涉及到了MVC架构的设计和实现,还涵盖了数据库管理、用户交互等多个方面,是学习和实践ASP...
- RSS订阅:提供RSS Feed,使用户可以通过新闻阅读器订阅博客更新。 ### 4. 即时聊天室 即时聊天室利用WebSocket技术,实现实时通信。关键技术点包括: - WebSocket服务器端实现:使用ASP.NET SignalR库,创建长...
并应用上述知识开发了8个基于AJAX的Web应用系统,如基于AJAX的文件和图像处理、AJAX祝福墙、AJAX留言簿、AJAX聊天室、AJAX RSS阅读器、AJAX相册、基于AJAX的电子邮件处理等。最后以两个大型的AJAX Web应用系统(基于...
总的来说,这个项目提供了一个学习Asp.net2.0开发RSS阅读器的实例,涵盖了面向对象设计、数据库操作、页面逻辑等多个方面,对于初学者和进阶开发者都是有价值的参考资料。通过分析和研究这个源码,开发者可以加深对...
在ASP.NET中,可以使用C#或VB.NET等语言进行编程,这为开发人员提供了极大的灵活性。 RSSMaker ASP.NET版插件的核心功能是生成RSS feed。RSS feed是一种XML文档,包含网站的最新文章、新闻或其他更新内容的摘要。...
RSS(Really Simple Syndication)是一种订阅式内容分发格式,允许用户通过RSS阅读器获取网站的最新更新。在ASP.NET 2.0中,可以使用System.Web.Services命名空间下的 SyndicationService 类创建RSS feed,包括标题...
基于Web的RSS阅读器是一种利用Web技术实现实时获取、解析和展示RSS(Really Simple Syndication)源内容的应用程序。RSS是一种用于分享和聚合网络内容的格式,它允许用户订阅多个网站的更新,而不必频繁访问这些网站...
尽管SharpReader并不是基于ASP.NET的,但它展示了RSS阅读器客户端的基本功能和设计思路,对于学习RSS阅读器的开发有一定的参考价值。 通过上述讨论,我们可以了解到实现一个基于XML和ASP.NET的RSS阅读器客户端涉及...
它允许用户通过RSS阅读器或聚合器来跟踪和获取更新,而无需直接访问网站。本实例主要针对.NET平台,将介绍如何创建一个简单的RSS Feed生成器。 一、RSS Feed基础知识 1. RSS结构:RSS Feed通常由多个元素组成,包括...
RSS feed由多个这样的条目组成,订阅者可以通过RSS阅读器查看这些更新。 在ASP.NET中,我们可以利用.NET Framework提供的XML处理类,如`System.Xml.Linq.XDocument`,来生成和解析RSS XML。首先,你需要定义一个...
在本项目中,"C#开发的rss新闻阅读器"是一个使用C#编程语言创建的应用程序,专门用于抓取、解析和展示RSS(Really Simple Syndication)新闻源的内容。 RSS是一种XML格式,用于发布和订阅网站更新,如博客文章、...
并应用上述知识开发了8个基于AJAX的Web应用系统,如基于AJAX的文件和图像处理、AJAX祝福墙、AJAX留言簿、AJAX聊天室、AJAX RSS阅读器、AJAX相册、基于AJAX的电子邮件处理等。最后以两个大型的AJAX Web应用系统(基于...