`
raisun_1988
  • 浏览: 117953 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

如何实现站点的RSS输出

    博客分类:
  • .Net
阅读更多

【网上购物论坛】-IT泡吧![http://www.itpob.cn/]  http://www.itpob.cn 

关于Rss

  RSS是共享内容的一种简易方式,也称聚合.通常被用于新闻和Blog。网站提供RSS输出,有利于让用户发现网站内容的更新。网站用户可以借助于支持RSS的新闻聚合工具软件或者在线网站(如BLOGLINES),订阅网站的内容并在不打开网站页面的情况下阅读内容。

  RSS是基于XML的一种形式,具体规范我就不说了,下面是如何使用ASP.NET实现

  通知浏览器网站提供了RSS输出:

  把下面的这句放在博客或这站点的<head>标签中

<link id="RSSLink" title="RSS" type="application/rss+xml" rel="alternate" href="http://www.cnblogs.com/lbk/rss.aspx" />

  创建RSS.ASPX文件

  只留下面这一行,其余的都删掉。

<%@ Page language="c#" Codebehind="Rss.aspx.cs" AutoEventWireup="false" Inherits="Test.Rss" %>

  后台代码;Rss.aspx.cs

  这里XML文件内容的输出是采用直接输出字符串的形式,在我看来前者比较简单,你也可以使用XmlTextWriter来实现。

private void Page_Load(object sender, System.EventArgs e)
 {  
  Response.ContentType="text/xml";
  Response.Charset = "UTF-8";
  Response.Write("<?xml version="1.0" encoding="UTF-8" ?>");
  Response.Write("<rss version="2.0"><channel>");
  Response.Write(GetUserRSS()); 
  GetItemsRss();
  Response.Write("</channel></rss>"); 
}
//此RSS的一些信息

private string GetUserRSS(NewTaokee.Model.Users user)
  {
    StringBuilder strRss = new StringBuilder();
    strRss.Append("<title>lbk</title>");
    strRss.Append("<link>lbk.cnblogs.com</link> ");
    strRss.Append("<description>呵呵,就是我</description> ");
    strRss.Append("<language>zh-cn</language>");
    strRss.Append("<generator>www.xiaoqian.cn </generator>");
    return strRss.ToString();
  }
//循环读取RSS中的每个ITEM的内容

private string getRss(IList<Model.Info> listInfo)
  {
    StringBuilder strRss = new StringBuilder();
    foreach (Model.Info var in listInfo)
    {
      string nickname = DAL.Users.instance.GetModelBasic(var.Author).NickName;
      string content = Function.ReplaceHtml(var.Content);
      content = Function.ReplaceXml(content);
      content = (content.Length > 300) ? content.Substring(0, 300) + "" : content;
      string link = Function.getConfig("MyUrl") + nickname + "/blog/item/" + var.id;
      strRss.Append("<item>");
      strRss.Append("<title>" + Function.ReplaceXml(var.Title) + "</title>");
      strRss.Append("<author>" + nickname + "</author>");
      strRss.Append("<description><![CDATA[" + content + "<p><a href='" + link + "'>查看全文</a>" + "]]></description>");
      strRss.Append("<pubDate>" + var.Adddate.ToString() + "</pubDate>");
      strRss.Append("<link>" + link + "/</link>");
      strRss.Append("</item>");
    }
    return strRss.ToString();
  }

  XML中的特殊字符的过滤(否则生成的XML文件会出错):

public static string ReplaceXml(string msg)
  {
    if (msg != "" && msg != null)
    {
      msg = msg.Replace("&", "%26");
      msg = msg.Replace(">", "&gt;");
      msg = msg.Replace("<", "&lt;");
      msg = msg.Replace(""", "&quot;");
      msg = msg.Replace("'", "&apos;");
    }
    return msg;
  }

  另外要注意的是,如果你的RSS输出的链接中又中文字符的话,

  如: cnblogs.com/你好/rss.aspx,

  最好能使用Server.UrlEncode("你好"),编码之后才能使用抓虾等订阅

 

分享到:
评论

相关推荐

    php实现的RSS生成类

    在实际使用中,你可以创建一个`RSSGenerator`类的实例,设置频道信息,然后通过`addItem`方法添加多条内容,最后调用`generateXML`方法输出RSS XML。这个类可以根据需求进行扩展,例如,增加对RSS分类、自定义元素的...

    RSSFeed 类

    RSS Feed是一种常见的数据格式,它允许网站发布新闻摘要或其他内容,以便其他站点或用户通过RSS阅读器轻松获取和跟踪更新。通过使用RSSFeed 类,开发者可以避免手动编写符合RSS规范的XML代码,提高开发效率并减少...

    WordPress使用RSS Feed输出自定义文章类型内容的方法

    在实际应用中,当RSS Feed被请求时,WordPress会调用这个过滤器函数,由于`$vars['post_type']`已经被修改,查询结果将包含指定的自定义文章类型,从而实现将这些内容输出到RSS Feed中。 注意,虽然这里提供的代码...

    rss 和 atom 输出xml格式实例

    下面我们将深入探讨RSS和Atom的核心概念以及它们在XML中的实现。 **RSS (Really Simple Syndication)** RSS是一种XML语言,用于创建新闻提要、博客文章和其他内容的简化的结构化数据。它主要由一系列元素组成,...

    网站RSS订阅功能插件RSSMaker ASP.net版_aspx开发教程.rar

    RSSMaker ASP.NET版简化了在网站上添加RSS输出的过程,使得开发者能够快速为网站增加这一功能,提升用户体验。 首先,我们需要了解RSS的基本结构。RSS文件通常包含XML格式的数据,定义了诸如标题、描述、发布日期等...

    RSSReader-网易手机在线更新阅读

    RSSReader是一款基于Java编程语言开发的手机应用程序,专为用户提供便捷的RSS新闻阅读体验,通过在线更新功能,用户可以轻松获取关注的新闻站点的最新内容。 在这个项目中,RSSReader实现了以下几个关键功能点: 1...

    Python库 | scrapy_rss-0.2.3-py35-none-any.whl

    然后在Scrapy项目中导入并配置Scrapy RSS中间件,根据需求设置RSS输出的字段和格式。 6. **RSS馈送配置**:使用Scrapy RSS库时,开发者可以配置RSS馈送的元数据,如标题、链接、描述以及发布的频道信息。同时,还...

    简单rss在线阅读器

    【简单RSS在线阅读器】是一款面向初级开发者的项目,它主要利用ASP(Active Server Pages)技术和XML(Extensible Markup Language)来实现一个基本的在线RSS订阅与阅读功能。RSS(Really Simple Syndication)是一...

    Android-Rss.rar_android_rss阅读器_阅读器

    【Android RSS阅读器】是一款基于Android 2.0+平台的源码实现,它主要用于帮助用户获取并阅读RSS(Really Simple Syndication)订阅内容。RSS是一种简易信息聚合(也称为富站点摘要或RSS feed)的格式,常用于新闻...

    Atom-FeedParser,用于分析rss/atom提要的库。通过在github上创建一个帐户来帮助alexdzyoba/feedparser开发。.zip

    这个库通常用于从各种在线博客、新闻站点或者任何提供RSS或Atom更新的服务中提取信息。在编程领域,特别是Web开发中,这种功能对于实现自动化的新闻聚合、内容抓取或构建定制的阅读器非常有用。 Atom是一种开放标准...

    RSS技术论坛阅读器

    在这款RSS技术论坛阅读器中,用户不仅能获得iteye论坛的最新技术资讯,还可以自定义订阅其他支持RSS输出的博客、论坛或新闻站点,实现信息的个性化定制。 iteye是一个广受欢迎的IT技术社区,涵盖了编程语言、软件...

    使用jQuery的ajax功能实现的RSS Reader 代码

    RSS(Really Simple Syndication)是一种用于发布和订阅网站内容的XML格式,常用于博客、新闻站点等,让用户可以方便地聚合和跟踪更新。 描述中提到,RSS阅读器可以在像igoogle或dropthings这样的门户平台上集成,...

    Y.PHP 1.1.0.rar

    4/实现了RSS输出; 5/使用SyntaxHighlighter实现代码加亮功能; 安装说明: 首先下载Y.PHP,并复制框架到您项目的跟目录(框架名称最好不要修改,如必须要修改,修改完成后,情修改框架跟目录App.php配置信息)

    html2rss-开源

    3. **配置文件**:用于设置和自定义HTML2RSS的行为,如指定要抓取的HTML元素或RSS输出的格式。 4. **示例**:可能包含一些示例输入和输出文件,帮助用户了解如何使用该工具。 5. **测试**:测试脚本和数据,确保软件...

    php生成RSS订阅的方法

    RSS广泛应用于网上新闻频道、博客(blog)和维基(wiki)中,让内容提供者可以通过RSS输出使用户能够及时接收到内容的最新更新。 RSS文件本质上是一段规范的XML(可扩展标记语言)数据,它通常具有rss、xml或rdf...

    Atom-feedmixer,从Atom和RSS提要获取和混合条目的微型Web服务(返回Atom、RSS或JSON).zip

    这个服务对于那些需要整合多个信息源,或者希望在一个统一的输出格式下查看不同来源数据的开发者来说非常有用。下面将详细解释相关知识点。 1. **Atom和RSS提要**: - Atom是一种XML格式,用于发布和订阅网络内容...

    rss.cr:Crystal的RSS提要生成器

    开发者可以集成这个库,快速构建RSS输出功能,提高开发效率。 6. **集成与使用**:在 Crystal 应用中使用 "rss.cr",开发者可能需要添加依赖管理器(如Shards)的配置,安装库,然后通过调用提供的API或类方法来...

    jekyll-rss-feeds:用于为您的Jekyll博客呈现RSS feed的模板

    在项目中,你可能会找到如 `rss.xml` 或 `feed.xml` 的模板文件,可以编辑这些文件来调整RSS feed的输出格式,比如添加自定义字段或改变条目的显示样式。 **6. 发布与订阅** 生成RSS feed后,将其部署到你的网站上...

    从站外调用WordPress站内文章的实现方法

    1. **获取RSS地址**:首先需要在WordPress后台获取目标站点的RSS地址,通常位于***站点地址/feed。 2. **编写调用代码**:使用PHP的fetch_rss函数,根据RSS地址获取最新的文章信息。通过array_slice函数可选取最新...

Global site tag (gtag.js) - Google Analytics