你的网站被人订阅了吗?(浅谈Rss2.0)

通过本文你将可以知道如下内容:
1.什么是RSS
2.怎样给自己的网站创建一个RSS源
3.如何订阅人家网站上的RSS


什么是RSS?简单来说,RSS就是一种简单的信息发布和传递方式,使得一个网站可以方便地调用其他提供RSS订阅服务的网站的内容,从而形成“新闻聚合”,让网站发布的内容在更大的范围内传播。(引用网上的解释,我觉得这个说的很明确)

RSS源至少应该包含一个频道(channel)
每个 channel里面应该包含标题(title),链接(link),简介(description),项目等
而每一个项目一般都含有一个标题,一段简单的介绍,还有一个URL链接(比如是一个网页的地址)。其他的信息,例如日期,创建者的名字等等,都是可以选择的。(更多关于RSS的标准请自己查阅相关文档)

怎样给自己的网站创建一个RSS源
我们新建一个一般应用文件(CreatRss.ashx).
代码v如下。代码内容很简单,注释也很清楚
using

namespace  Rss
{  
    
public class CreatRss : IHttpHandler
    
{

        
public void ProcessRequest(HttpContext context)
        
{
            context.Response.ContentType 
= "text/xml";//设置输出内容为XML格式

            
预备数据
            StringBuilder str 
= new StringBuilder();
            str.Append(
"<?xml version=\"1.0\" encoding=\"utf-8\" ?> ");
            
频道信息区
            
内容列表区  
            str.Append(
"</channel>");
            str.Append(
"</rss>");
            context.Response.Write(str.ToString());
        }


        
public bool IsReusable
        
{
            
get
            
{
                
return false;
            }

        }

    }

}


直接运行这个文件就生成了属于我们的RSS源啦,大家可以试试,效果如下:
  你的网站被人订阅了吗?(浅谈Rss2.0)

怎样在自己的网页中订阅RSS 
我就以博客园首页原创区的RSS源为例。
新建一个webform页面
内容如下:
<% @ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Rss._Default"  %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head  runat ="server" >
    
< title > 无标题页 </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >    
    
        
< asp:Repeater  ID ="Repeater1"  runat ="server" >
        
< HeaderTemplate >< ol ></ HeaderTemplate >
        
< ItemTemplate >
        
< li > 标题: < href ='<%#  Eval("link") % > '> <% Eval("title" %> </ a >
        
< br  />
        摘要:
<% Eval("description") %>
        
< br  />
        作者:
<% Eval("author") %>
        
< br  />
        时间:
<% Eval("pubDate") %>
        
< br  />
        
< hr  />
        
</ ItemTemplate >
        
< FooterTemplate >   </ ol ></ FooterTemplate >
        
</ asp:Repeater >    
    
    
</ form >
</ body >
</ html >

后台代码如下:
using  System;
using  System.Linq;
using  System.Xml.Linq;

namespace  Rss
{
    
public partial class _Default : System.Web.UI.Page
    
{
        
protected void Page_Load(object sender, EventArgs e)
        
{
            XDocument doc 
= XDocument.Load("http://www.cnblogs.com/rss");//也可是别的RSS源

            var query 
= from p in doc.Descendants("item"
                        select 
new 
                            title 
= p.Element("title").Value,
                            link 
= p.Element("link").Value,
                            description 
= p.Element("description").Value ,
                            pubDate
=p.Element("pubDate").Value,
                            author 
= p.Element("author").Value
                        }
;//取item下的元素值
           
            Repeater1.DataSource 
= query;
            Repeater1.DataBind();


        }

    }

}


运行就可以啊。这个就不贴图啦。
本章内容简单但很实用,希望对大家有帮助,献丑啦

你可能感兴趣的:(网站)