zoukankan      html  css  js  c++  java
  • 你的网站被人订阅了吗?(浅谈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源啦,大家可以试试,效果如下:
     

    怎样在自己的网页中订阅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();


            }

        }

    }


    运行就可以啊。这个就不贴图啦。
    本章内容简单但很实用,希望对大家有帮助,献丑啦
  • 相关阅读:
    spring guides
    Go 汇编入门
    go内存管理
    websocket
    Scheduling In Go
    log-structured-merge-trees
    InfluxDB 内部机制解析
    thread-states
    MySQL高可用方案
    Amazon Aurora解读
  • 原文地址:https://www.cnblogs.com/leleroyn/p/1219355.html
Copyright © 2011-2022 走看看