CozyRSS开发记录7-了解RSS

本文介绍了RSS的基本概念及其不同版本的区别,并重点讲解了如何使用.NET Framework中的System.ServiceModel.Syndication命名空间来解析和生成RSS2.0格式的内容。

CozyRSS开发记录7-了解RSS

1、初窥RSS

多找几个RSS源就会发现,有的源是用Atom协议提供的,有的源是RSS协议提供的。RSS协议有过几个版本,0.91.02.0等,理论上支持2.0是能向前兼容1.0的。这里我们先只考虑RSS2.0

首先,我下载了一份最新的配色网的RSS

 

之前说过,RSSXML的子集,我们先看看这份XMLDOM结构:

 

Channel下为RSS的主要内容,我们姑且称它为RssFeed,而每一个item是一条可读的RSS内容,我们称它为RssItem

2、System.ServiceModel.Syndication

.NET中,已经有了非常完善的RSS解析和生成的封装。在CozyRss中,我们用到的是在System.ServiceModel.Syndication这个命名空间里的实现。另外,xamarin也有几乎一样的RSS处理封装提供,针对WebUWP,同样也有。

我们先大体看看这个命名空间下都有些什么。

 

MSDN的相关网页:

https://msdn.microsoft.com/zh-cn/library/system.servicemodel.syndication.aspx

 

VS的对象查看器能看到的类如下:

 

在.NET Core Libraries (CoreFX)找了下,发现并没有System.ServiceModel.Syndication的代码,但是还是在Mono中找到了。

 

根据我的阅读理解,大体介绍一下一些主要的类:

 

Atom10FeedFormatterAtom10ItemFormatter...

序列化处理Atom1.0格式的xml

 

Rss20FeedFormatter、Rss20ItemFormatter...

序列化处理RSS2.0格式的xml

 

ServiceDocument

->WorkSpace

->ResourceCollectionInfo

->CategoriesDocument

服务文档包含工作区,工作区包含资源集合,资源包含分类文档集,然而这一堆基本上都是Atom格式的,所以先不管,包括对应的CategoriesDocumentFormatter等。

 

Rss20FeedFormatterRss20ItemFormatter

对应SyndicationFeedSyndicationItem

 

剩下的,就是一些model封装类和辅助类了。

在了解了RSSSystem.ServiceModel.Syndication后,我们马上就要开始处理RSS了。

转载于:https://www.cnblogs.com/zapline/p/5477793.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值