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

<meta content="MSHTML 6.00.2900.3199" name="GENERATOR"> <style></style>2007年09月21日 10:45:09

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

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

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

>item

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

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

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

>guid isPermaLink="true"http://inessential.com/2002/09/01.php#a2>/guidisPermaLink是可选属性,默认值为真。如果值为假,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;

>itemcomments

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

>commentitem

>itemcategory

这是表示分类的节点。

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

生成的节点如下:

>category domain="ParentRoomID"/category

用 RSS.net 的代码就是:

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

参考资料:

中文的RSS2.0 规范



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1794248


你可能感兴趣的:(.net,PHP,Blog)