现在的位置: 首页 > 综合 > 正文

C# 操作RSS实现订阅

2018年06月06日 ⁄ 综合 ⁄ 共 2310字 ⁄ 字号 评论关闭
  RSS是什么,现在可以见到很多RSS订阅,RSS是什么,RSS实际就是一个符合一定规范的XML文档。由于符合规范,那么大家就都可以通过这个规范来对RSS来进行解析,提取RSS提供的数据了。

  RSS解析部分:
   

          string rss = this.textBox1.Text;//RSS地址

            XmlDocument doc 
= new XmlDocument();//创建文档对象
            try
            
{
                doc.Load(rss);
//加载XML 包括HTTP:// 和本地
            }

            
catch (Exception ex)
            
{
                MessageBox.Show(ex.Message);
//异常处理
            }

            XmlNodeList list 
= doc.GetElementsByTagName("item"); //获得项           

            
foreach (XmlNode node in list) //循环每一项
            {
                XmlElement ele 
= (XmlElement)node;
                
string title = ele.GetElementsByTagName("title")[0].InnerText;//获得标题
                string link = ele.GetElementsByTagName("link")[0].InnerText;//获得联接
                
//添加到列表内
                ListViewItem item = new ListViewItem();
                item.Text 
= title;
                item.Tag 
= link;
                
this.listView1.Items.Add(item);
                
//添加结束
            }

      首先要说的就是RSS规范:RSS 2.0规范

channel部分

title 频道名称 必须
link 频道的URL 必须
Description 频道的描述 必须
language 频道文章所用语言 可选
copyright 频道版权说明 可选
managingEditor 管理者的email 可选
webMaster 网站管理员email 可选
pubDate 频道发布日期 可选 (注意时间必须是严格符合RFC-822)
lastBuildDate 频道最后修改日期 可选
category 频道类别 可选
generator 生成该频道的程序名 可选
docs 该RSS文件的URL 可选
ttl 有效期 可选
image 频道图标 可选
rating 频道等级 可选
skipHours 可跳过的小时 可选
skipDays 可跳过的天 可选

item部分

title 标题 必须
link 该文章的链接 必须
description 描述或称为摘要 必须
author 作者的email 可选
category 该文章的分类 可选
comments 该文章评论的链接 可选
enclosure 该文章附带的文件 可选
guid 该文章唯一的识别标志(目前没有规范,一般使用文章链接表示) 可选
pubDate 发表时间 可选
source 文章来源链接 可选

例子:

    
<rss version="2.0">
    
<channel>
    
<title>D.C Life</title>
    
<link>http://blog.it580.com/</link>
    
<description>David && Cindy || XIAMI &&XlAMl.</description>
    
<language>zh-cn</language>
    
<pubdate>Tue, 10 Jun 2003 04:00:00 GMT</pubdate>
    
<lastbuilddate>Tue, 10 Jun 2003 09:41:01 GMT</lastbuilddate>
    
<generator>Xiami Edit</generator>
    
<managingeditor>editor@name.com</managingeditor>
    
<webmaster>webmaster@name.com</webmaster>
    
<item>
    
<title>例子文件</title>
    
<link>
    http://blog.it580.com/Sample_files.php
    
</link>
    
<description>
    这是一个例子文件
    
</description>
    
<pubdate>Tue, 03 Jun 2003 09:39:21 GMT</pubdate>
    
<guid>
    http://blog.it580.com/Sample_files.php
    
</guid>
    
</item>
    
</channel>
    
</rss>

抱歉!评论已关闭.