手下有个人在创建一个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 < p>
>item <节点下分类节点> category <节点>
这是表示分类的节点。
如果我们有多种分类,可以使用这个节点的 Domain 属性。
生成的节点如下:
>category domain="ParentRoomID" <分类名字1> /category<
用 RSS.net 的代码就是:
RssCategory c2 = new RssCategory();
c2.Domain = "ParentRoomID";
c2.Name = "分类名字1";
item.Categories.Add(c2);
参考资料:
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1794248