`
water84222
  • 浏览: 378732 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

C#+ASP.NET开发基于Web的RSS阅读器

阅读更多

 C#+ASP.NET开发基于Web的RSS阅读器

作者来源: 
阅读 190 人次 , 2006-4-27 9:52:00 
 


  最近我一直在寻找如何在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>

  显示结果如下:

C#+ASP.NET开发基于Web的RSS阅读器(图一)
 
分享到:
评论

相关推荐

    ASP.NET源码——jquery+.net实现简单的Rss阅读器.zip

    在这个Rss阅读器中,很可能使用了Web Forms,因为它是一个较早的ASP.NET开发模型,适合初学者和快速原型开发。 jQuery是一个流行的JavaScript库,它简化了DOM操作、事件处理、动画和Ajax交互。在这个Rss阅读器中,...

    ASP.NET-[其他类别]jquery+.net实现简单的Rss阅读器.zip

    在这个案例中,"ASP.NET-[其他类别]jquery+.net实现简单的Rss阅读器.zip" 提供了一个教程,展示了如何结合jQuery和.NET技术来创建一个基本的RSS(Really Simple Syndication)阅读器。RSS是一种用于发布和订阅内容的...

    jquery+.net实现简单的Rss阅读器_rss.zip

    标题中的“jquery+.net实现简单的Rss阅读器_rss”表明这是一个使用jQuery库与.NET框架共同构建的简单RSS阅读器项目。RSS(Really Simple Syndication)是一种内容发布格式,允许用户订阅并获取网站的更新信息,如...

    asp.net RSS阅读器

    ASP.NET RSS阅读器是一款基于微软的ASP.NET技术开发的在线应用程序,主要用于订阅和查看RSS(Really Simple Syndication)源。RSS是一种XML格式,用于发布新闻、博客和其他定期更新的网络内容,使得用户无需访问每个...

    一个基于ASP.NET+C#实现的RSS Web Control

    总的来说,这个基于ASP.NET+C#的RSS Web Control为Web开发者提供了一种高效、灵活的方式,让他们能够轻松地在自己的应用中集成RSS阅读功能,提升用户体验,同时减少了处理XML和网络请求的复杂性。通过深入理解和利用...

    rss.rar_ RSS asp.net_RSS asp.net_asp.net_asp.net rss_rss asp.n

    1. **ASP.NET基础**:ASP.NET是微软开发的Web应用程序框架,用于构建动态网站、Web应用和服务。C#是其常用的编程语言。 2. **RSS原理**:RSS是一种XML标准,允许内容发布者创建可订阅的XML数据源,用户可以使用RSS...

    ASP.NET RSS订阅

    ASP.NET RSS订阅是一种常见的Web应用程序开发技术,用于创建和分发新闻和其他定期更新的内容。RSS,全称Really Simple Syndication,是一种XML格式,允许用户通过RSS阅读器或聚合器订阅和获取网站的最新内容,无需...

    MVC在线RSS阅读器(ASP.NET 4.0)

    综上所述,这个"MVC在线RSS阅读器(ASP.NET 4.0)"项目展示了如何利用现代Web开发技术和框架构建一个实用的在线服务。它不仅涉及到了MVC架构的设计和实现,还涵盖了数据库管理、用户交互等多个方面,是学习和实践ASP...

    C# ASP.Net 四大案例

    - RSS订阅:提供RSS Feed,使用户可以通过新闻阅读器订阅博客更新。 ### 4. 即时聊天室 即时聊天室利用WebSocket技术,实现实时通信。关键技术点包括: - WebSocket服务器端实现:使用ASP.NET SignalR库,创建长...

    完全手册ASP.NET AJAX实用开发详解 源码

    并应用上述知识开发了8个基于AJAX的Web应用系统,如基于AJAX的文件和图像处理、AJAX祝福墙、AJAX留言簿、AJAX聊天室、AJAX RSS阅读器、AJAX相册、基于AJAX的电子邮件处理等。最后以两个大型的AJAX Web应用系统(基于...

    Asp.net2.0应用之RSS在线阅读器源码

    总的来说,这个项目提供了一个学习Asp.net2.0开发RSS阅读器的实例,涵盖了面向对象设计、数据库操作、页面逻辑等多个方面,对于初学者和进阶开发者都是有价值的参考资料。通过分析和研究这个源码,开发者可以加深对...

    ASP.NET源码——网站RSS订阅功能插件RSSMaker ASP.net版.zip

    在ASP.NET中,可以使用C#或VB.NET等语言进行编程,这为开发人员提供了极大的灵活性。 RSSMaker ASP.NET版插件的核心功能是生成RSS feed。RSS feed是一种XML文档,包含网站的最新文章、新闻或其他更新内容的摘要。...

    ASP.net 2.0的web2.0应用-blog、Tags、Rss、Xml和ajax mail

    RSS(Really Simple Syndication)是一种订阅式内容分发格式,允许用户通过RSS阅读器获取网站的最新更新。在ASP.NET 2.0中,可以使用System.Web.Services命名空间下的 SyndicationService 类创建RSS feed,包括标题...

    基于Web的RSS阅读器

    基于Web的RSS阅读器是一种利用Web技术实现实时获取、解析和展示RSS(Really Simple Syndication)源内容的应用程序。RSS是一种用于分享和聚合网络内容的格式,它允许用户订阅多个网站的更新,而不必频繁访问这些网站...

    rss阅读器客户端的实现

    尽管SharpReader并不是基于ASP.NET的,但它展示了RSS阅读器客户端的基本功能和设计思路,对于学习RSS阅读器的开发有一定的参考价值。 通过上述讨论,我们可以了解到实现一个基于XML和ASP.NET的RSS阅读器客户端涉及...

    .net RssFeed制作实例下载

    它允许用户通过RSS阅读器或聚合器来跟踪和获取更新,而无需直接访问网站。本实例主要针对.NET平台,将介绍如何创建一个简单的RSS Feed生成器。 一、RSS Feed基础知识 1. RSS结构:RSS Feed通常由多个元素组成,包括...

    asp.net实现RSS模块

    RSS feed由多个这样的条目组成,订阅者可以通过RSS阅读器查看这些更新。 在ASP.NET中,我们可以利用.NET Framework提供的XML处理类,如`System.Xml.Linq.XDocument`,来生成和解析RSS XML。首先,你需要定义一个...

    C#开发的rss新闻阅读器

    在本项目中,"C#开发的rss新闻阅读器"是一个使用C#编程语言创建的应用程序,专门用于抓取、解析和展示RSS(Really Simple Syndication)新闻源的内容。 RSS是一种XML格式,用于发布和订阅网站更新,如博客文章、...

    完全手册:ASP.NET AJAX实用开发详解 part3

    并应用上述知识开发了8个基于AJAX的Web应用系统,如基于AJAX的文件和图像处理、AJAX祝福墙、AJAX留言簿、AJAX聊天室、AJAX RSS阅读器、AJAX相册、基于AJAX的电子邮件处理等。最后以两个大型的AJAX Web应用系统(基于...

Global site tag (gtag.js) - Google Analytics