博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CozyRSS开发记录7-了解RSS
阅读量:5147 次
发布时间:2019-06-13

本文共 1060 字,大约阅读时间需要 3 分钟。

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的相关网页:

 

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

你可能感兴趣的文章
BZOJ1598: [Usaco2008 Mar]牛跑步
查看>>
python基础学习(一) 第一个python程序
查看>>
表格和分页组件封装
查看>>
Leetcode zigzag conversion
查看>>
字母统计
查看>>
在windows下用vagrant建立lnmp开发环境
查看>>
线段树(基础)
查看>>
torchvision的安装及使用
查看>>
使用UML进行项目开发
查看>>
Windows phone 8.1布局控件
查看>>
easyui中表格列之间的换位05
查看>>
SSL-ZYC 采购特价商品【SPFA】
查看>>
软工作业 2:时事点评-红芯浏览器事件
查看>>
网页里动态加载js
查看>>
2.微信开发原理
查看>>
洛谷 P1309 瑞士轮 题解
查看>>
我踩过的听过的那些坑
查看>>
关于rk3288烧写后不能启动的问题
查看>>
关于C++的operator的学习笔记
查看>>
python(函数初识)
查看>>