生成 RSS2.0 文档可能犯错误的一些地方

1721人阅读 评论(0) 收藏 举报

手下有个人在创建一个RSS2.0文档时,对RSS2.0的一些项的规范不是很了解,把数据放错了地方,我下面就整理一些他犯错误的地方。避免其他人也犯这个错误。

完整的RSS2.0规范可以看以下链接地址:

http://tonyqus.cnblogs.com/archive/2005/01/30/93684.aspx

 

<item>的节点下的guid节点

item节点下的guid节点的作用在于:可以唯一确定item的字符串。我们经常把这一项设置成URL,跟 link 节点是一样的。但是也是可以设置成不一样的。而且guid

节点可以设置任意格式的字符串。只要保证这个字符串是不重复的。

当设置的guid节点不是一个URL时,需要isPermaLink标志。isPermaLink标志就是标志是否guid节点是一个URL。示例如下:

<guid isPermaLink="true">http://inessential.com/2002/09/01.php#a2</guid>
isPermaLink是可选属性,默认值为真。如果值为假,guid将不会被认为是一个url或指向任何对象的url。

我的手下就是一直误以为这一项只能设置成一个URL,结果在需要在RSS中显示一个Guid类型的成员时,找不到地方放,随便放到了comments 中了。

用RSS.net 来实现这个定义,就可以简单的写成下面的代码:

RssGuid rg = new RssGuid();
rg.PermaLink = DBBool.False;
rg.Name = Guid.NewGuid().ToString();
item.Guid = rg;

 

<item>节点下<comments> 节点

comments 节点不是注释文本节点,而是 与item相关的评论的地址。这是一个URL。

<comment>是<item>的可选节点。 如果出现,它指向该item评论的url

 

<item>节点下分类节点<category>节点

这是表示分类的节点。

如果我们有多种分类,可以使用这个节点的 Domain  属性。

生成的节点如下:

<category domain="ParentRoomID">分类名字1</category>

用 RSS.net 的代码就是:

RssCategory c2 = new RssCategory();
c2.Domain = "ParentRoomID";
c2.Name = "分类名字1";
item.Categories.Add(c2);

 

参考资料:

中文的RSS2.0 规范

 

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2592510次
    • 积分:37279
    • 等级:
    • 排名:第113名
    • 原创:940篇
    • 转载:3篇
    • 译文:2篇
    • 评论:1633条
    最新评论
    朋友的Blog
    其他