C#实现RSS订阅-创新互联
今天朋友问我怎么操作RSS,说实话以前还真没弄过,甚至就不知道什么是RSS。谷哥了一下才发现原来RSS就是一个XML文档啊
创新互联建站始终坚持【策划先行,效果至上】的经营理念,通过多达十多年累计超上千家客户的网站建设总结了一套系统有效的营销解决方案,现已广泛运用于各行各业的客户,其中包括:边坡防护网等企业,备受客户赞扬。首先介绍下什么是RSS,来自百度百科:
RSS(简易信息聚合,也叫聚合内容)是一种描述和同步网站内容的格式。RSS可以是以下三个解释的其中一个: Really Simple Syndication;RDF (Resource Description Framework) Site Summary; Rich Site Summary。但其实这三个解释都是指同一种Syndication的技术。RSS目前广泛用于网上新闻频道,blog和wiki,主要的版本有0.91, 1.0, 2.0。使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。网络用户可以在客户端借助于支持RSS的聚合工具软件,在不打开网站内容页面的情况下阅读支持RSS输出的网站内容。
下面就通过这个规范来对RSS进行解析提取数据:
string rsspath = "http://dabao.im/rss.php";//RSS地址
XmlDocument doc = new XmlDocument();//创建文档对象
try
{
doc.Load(rsspath);//加载XML 包括HTTP:// 和本地
}
catch (Exception ex)
{
//异常处理
}
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;//获得联接
string description = ele.GetElementsByTagName("description")[0].InnerText;//获得简介
//添加绑定操作
}
知识扩展
【转】RSS规范
RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)RSS 基于XML,所有的 RSS 必须遵循w3c网站上公布的XML 1.0 规范。
在一个RSS文档中,根元素是
RSS2.0元素channel的子元素列表
元素 | 描述 | 值域 | 重要性 | 举例 |
title | 频道名称 | | 必备 | GoUpstate.com News Headlines |
link | 频道的URL | | 必备 | http://www.goupstate.com/ |
Description | 频道的描述 | | 必备 | The latest news from GoUpstate.com, a Spartanburg Herald-Journal Web site. |
language | 频道文章所用语言, | 可用netscape或w3c推荐的列表 | 可选 | en-us |
copyright | 频道内容的版权说明 | | 可选 | Copyright 2002, Spartanburg Herald-Journal |
managingEditor | 责任编辑的email | | 可选 | geo@herald.com (George Matesky) |
webMaster | 负责频道技术事务的网站管理员email | | 可选 | betty@herald.com (Betty Guernsey) |
pubDate | 频道内容发布日期,格式遵循RFC822格式(年份可为2们或4位) | | 可选 | Sat, 07 Sep 2002 00:00:01 GMT |
lastBuildDate | 频道内容最后的修改日期 | | 可选 | Sat, 07 Sep 2002 09:42:31 GMT |
category | 指定频道所属的一个或几个类别 | | 可选 | |
generator | 生成该频道的程序名 | | 可选 | MightyInHouse Content System v2.3 |
docs | 指向该RSS文件所用格式说明的URL | | 可选 | http://blogs.law.harvard.edu/tech/rss |
cloud | Allows processes to register with a cloud to be notified of updates to the channel, implementing a lightweight publish-subscribe protocol for RSS feeds. More info h | | 可选 | |
ttl | 有效期,用以指明该频道可被缓存的最长时间 | 分钟为单位 | 可选 | |
p_w_picpath | 指定一个 GIF或JPEG或PNG图片,用以与频道一起显示 | | 可选 | |
rating | 这个频道的分级(主要指成人、限制、儿童等) | | 可选 | |
textInput | 指定一个text输入框供用户输入,具体信息及功能未定。 | | 可选 | |
skipHours | 提示新闻聚合器,那些小时时段它可以跳过。 | | 可选 | |
skipDays | 提示新闻聚合器,那些天它可以跳过。 | | 可选 | |
RSS2.0元素channel的子元素p_w_picpath的子元素列表
元素(Element) | 描述 | 值域 | 重要性 | 举例(Example) |
url | 图片的url | | 必备 | |
title | 图片的标题,用于http的alt属性 | | 必备 | |
link | 网站的url(实际中常以频道的url代替) | | 必备 | |
width | 图片的宽度(象素为单位) | 大144,默认88 | 可选 | |
height | 图片的高度(象素为单位) | 大400,默认31 | 可选 | |
description | 用于link的title属性 | | 可选 | |
RSS2.0元素channel的子元素cloud的子元素列表
元素(Element) | 描述 | 值域 | 重要性 | 举例(Example) |
domain | Cloud程序所在机器的域名或IP地址 | | | radio.xmlstoragesystem.com |
port | 访问clound程序所通过的端口 | | | 80 |
path | 程序所在路径(不一定是真实路径) | | | /RPC2 |
registerProcedure | 注册的可提供的服务或过程 | | | xmlStorageSystem.rssPleaseNotify |
protocol | 协议 | xml-rpc, soap , http-post 之一 | | xml-rpc |
RSS2.0元素channel的子元素textInput的子元素列表
元素(Element) | 描述 | 值域 | 重要性 | 举例(Example) |
title | Submit按钮的标签 | | 必备 | |
description | 解释text输入区 | | 必备 | |
name | Text area对象的名字 | | 必备 | |
link | 处理提交的请求的cgi程序 | | 必备 | |
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
网站标题:C#实现RSS订阅-创新互联
网页路径:http://myzitong.com/article/egpdc.html