All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
用动态网页制作技术PHP制作大型网站问题集_php资料_编程技术
asp.net(c#)如何把字符串转换成数组_[Asp.Net教程]
Web,Service的几个很重要的概念_[Asp.Net教程]
PHP和MySQL基础教程(四)_[PHP教程]
实例详解网页表单格式的应用技巧_[Html教程]
网页设计必学:快速精通网页框架FRAME_[Html教程]
使用ASP.NET,2.0中的ReportViewer控件_[Asp.Net教程]
ASP.NET页面事件:顺序与回传详解_.net资料_编程技术
ASP.NET从零起步设计网站全过程(12)_[Asp.Net教程]
关键词的选择是网络营销走向成功的第一步_谷歌优化_seo学堂
Reading number is top 10 pictures
Discharge accidentally Actresses by the breast2
2013中国四川省高考作文
Take you to walk into the most true north Korea rural2
Cesarean section, bloody, silently into it!2
关于提肛的健身效果
Sora aoi mirror memorial classics2
NeedWallpaper11
The real super beauty12
Distribution of wealth in China survey status report
The real super beauty9
Download software ranking
Tram sex maniac 2 (H) rar bag18
The Bermuda triangle3
jdk1.5
WebService在.NET中的实战应用教学视频 → 第4集
Eclipse-CALMSANNY (second edition)
C#程序员参考手册
天龙八部最新服务端
Unix video tutorial11
WebService在.NET中的实战应用教学视频 → 第3集
美女写真1
delv published in(发表于) 2014/1/6 9:08:23 Edit(编辑)
Web,2.0时代RSS的.Net实现_[Asp.Net教程]

Web,2.0时代RSS的.Net实现_[Asp.Net教程]

Web 2.0时代RSS的.Net实现_[Asp.Net教程]

Web2.0时是以Blog,Wike,Tag,RSS等技术为代表的以个性化为中心的新一代互联网模式,RSS比起Blog等名词似乎还不算太热。但打开网页仍是遍布了RSS,Xml等醒目的图标,打开页面Mathon浏览器也是一个劲的提示有新的RSS连接,前一段一个项


目需要,自己写了一个.Net下面生成RSS信息的类,如下:



1using System;
2using System.Xml;
3using System.Collections;
4using System.Globalization;
5using System.Web;
6
7namespace BLRL
8{
9 ///


10 /// Summary description for Rss.
11 ///

12 public class Rss
13 {
14 const string dublinCoreNamespaceUri = @"http://purl.org/dc/elements/1.1/";
15 const string slashNamespaceUri = @"http://purl.org/rss/1.0/modules/slash/";
16 const string syndicationNamespaceUri = @"http://purl.org/rss/1.0/modules/syndication/";
17 //RSS频道结构
18 struct RssChannel
19 {
20 public string title;//标题
21 public string link;//连接
22 public string language;//语言
23 public string description;//描述
24 public string webMaster;//发布者
25 }
26
27 //RSS图片信息
28 struct RssImage
29 {
30 public string url;//地址
31 public string title;//标题
32 public int height ;//高度
33 public int width;//长度
34 }
35
36 //RSS项结构
37 struct RssItem
38 {
39 public string title;//标题
40 public string catalog;//类别
41 public string link;//连接
42 public DateTime pubDate;//发布日期
43 public string description;//描述
44
45 }
46 public Rss()
47 {
48 //
49 // TOD Add constructor logic here
50 //
51 }
52 ///
53 ///添加rss版本信息
54 ///

55 ///
56 ///
57 public static XmlDocument AddRssPreamble( XmlDocument xmlDocument)
58 {
59 //声明创建1.0版本得xml
60 XmlDeclaration xmlDeclaration = xmlDocument.CreateXmlDeclaration("1.0", "utf-8", null);
61 xmlDocument.InsertBefore(xmlDeclaration, xmlDocument.DocumentElement);
62
63 XmlElement rssElement = xmlDocument.CreateElement("rss");
64
65 XmlAttribute rssVersionAttribute = xmlDocument.CreateAttribute("version");
66 rssVersionAttribute.InnerText = "2.0";
67 rssElement.Attributes.Append(rssVersionAttribute);
68 xmlDocument.AppendChild(rssElement);
69
70
71 XmlAttribute dublicCoreNamespaceUriAttribute = xmlDocument.CreateAttribute("xmlns:dc");
72 dublicCoreNamespaceUriAttribute.InnerText = dublinCoreNamespaceUri;
73 rssElement.Attributes.Append(dublicCoreNamespaceUriAttribute);
74
75 XmlAttribute slashNamespaceUriAttribute = xmlDocument.CreateAttribute("xmlns:slash");
76 slashNamespaceUriAttribute.InnerText = slashNamespaceUri;
77 rssElement.Attributes.Append(slashNamespaceUriAttribute);
78
79 XmlAttribute syndicationNamespaceUriAttribute = xmlDocument.CreateAttribute("xmlns:sy");
80 syndicationNamespaceUriAttribute.InnerText = syndicationNamespaceUri;
81 rssElement.Attributes.Append(syndicationNamespaceUriAttribute);
82
83
84 return xmlDocument;
85 }
86
87 ///
88 /// 添加频道
89 ///

90 ///
91 ///
92 ///
93 private static XmlDocument AddRssChannel( XmlDocument xmlDocument, RssChannel channel)
94 {
95 XmlElement channelElement = xmlDocument.CreateElement("channel");
96 XmlNode rssElement = xmlDocument.SelectSingleNode("rss");
97
98 rssElement.AppendChild(channelElement);
99
100 //添加标题
101 XmlElement channelTitleElement = xmlDocument.CreateElement("title");
102 channelTitleElement.InnerText = channel.title;
103 channelElement.AppendChild(channelTitleElement);
104
105 //添加连接
106 XmlElement channelLinkElement = xmlDocument.CreateElement("link");
107 channelLinkElement.InnerText = channel.link;
108 channelElement.AppendChild(channelLinkElement);
109
110 //添加描述
111 XmlElement channelDescriptionElement = xmlDocument.CreateElement("description");
112 XmlCDataSection cDataDescriptionSection = xmlDocument.CreateCDataSection(channel.description);
113 channelDescriptionElement.AppendChild(cDataDescriptionSection);
114 channelElement.AppendChild(channelDescriptionElement);
115
116 //添加语言
117 XmlElement languageElement = xmlDocument.CreateElement("language");
118 languageElement.InnerText = channel.language;
119 channelElement.AppendChild(languageElement);
120
121 //添加发布者
122 XmlElement webMasterElement = xmlDocument.CreateElement("webMaster");
123 webMasterElement.InnerText = channel.webMaster;
124 channelElement.AppendChild(webMasterElement);
125
126 return xmlDocument;
127 }
128
129
130 //添加RssImage
131 private static XmlDocument AddRssImage(XmlDocument xmlDocument, RssImage img)
132 {
133 XmlElement imgElement = xmlDocument.CreateElement("image");
134 XmlNode channelElement = xmlDocument.SelectSingleNode("rss/channel");
135
136 //创建标题
137 XmlElement imageTitleElement = xmlDocument.CreateElement("title");
138 imageTitleElement.InnerText = img.title;
139 imgElement.AppendChild(imageTitleElement);
140
141 //创建地址
142 XmlElement imageUrlElement = xmlDocument.CreateElement("url");
143 imageUrlElement.InnerText = img.url;
144 imgElement.AppendChild(imageUrlElement);
145
146 //创建高度
147 XmlElement imageHeightElement = xmlDocument.CreateElement("height");
148 imageHeightElement.InnerText = img.height.ToString();
149 imgElement.AppendChild(imageHeightElement);
150
151 //创建长度
152 XmlElement imageWidthElement = xmlDocument.CreateElement("width");
153 imageWidthElement.InnerText = img.width.ToString();
154 imgElement.AppendChild(imageWidthElement);
155
156 //将图像节点添加到频道节点里面
157 channelElement.AppendChild(imgElement);
158 return xmlDocument;
159
160 }
161
162
163 ///
164 /// 添加项信息
165 ///

166 ///
167 ///
168 ///
169 private static XmlDocument AddRssItem (XmlDocument xmlDocument, RssItem item)
170 {
171 XmlElement itemElement = xmlDocument.CreateElement("item");
172 XmlNode channelElement = xmlDocument.SelectSingleNode("rss/channel");
173
174 //创建标题
175 XmlElement itemTitleElement = xmlDocument.CreateElement("title");
176 XmlCDataSection cDataTitleSection = xmlDocument.CreateCDataSection(item.title);
177 itemTitleElement.AppendChild(cDataTitleSection);
178 itemElement.AppendChild(itemTitleElement);
179
180 //创建日期
181 XmlElement pubDateElement = xmlDocument.CreateElement("pubDate");
182 pubDateElement.InnerText = XmlConvert.ToString(item.pubDate.ToUniversalTime(), "yyyy-MM-ddTHH:mm:ss");
183 itemElement.AppendChild(pubDateElement);
184
185 //添加连接
186 XmlElement itemLinkElement = xmlDocument.CreateElement("link");
187 itemLinkElement.InnerText = item.link;
188 itemElement.AppendChild(itemLinkElement);
189
190 //创建描述
191 XmlElement itemDescriptionElement = xmlDocument.CreateElement("description");
192 XmlCDataSection cDataDescriptionSection = xmlDocument.CreateCDataSection(item.description);
193 itemDescriptionElement.AppendChild(cDataDescriptionSection);
194 itemElement.AppendChild(itemDescriptionElement);
195
196
197 //创建类型
198 XmlElement itemcatalogElement = xmlDocument.CreateElement("catalog");
199 itemcatalogElement.InnerText = item.catalog;
200 itemElement.AppendChild(itemcatalogElement);
201
202 //将RssItem添加到频道节点里面
203 channelElement.AppendChild(itemElement);
204
205 return xmlDocument;
206 }
207 }
208}


  根据特定的需要,可以先将数据读取到列表里面,然后遍历列表,调用上述方法,生成Xml字符串。


  这个字符串就是RS用到XML字符串了。也可以入aspx文件,然后用 调用下RSS文件,马桶等软件就会自动提示有RRS信息了


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.