Web 2.0 — это интернет-модель нового поколения, основанная на персонализации, представленная блогами, тегами, RSS и другими технологиями, которые, похоже, не слишком популярны по сравнению с такими терминами, как блог. Однако при открытии веб-страницы
по-прежнему появляются привлекательные значки, такие как RSS и
, например:
1использование системы;
2использование System.Xml;
3использование System.Collections;
4использование System.Globalization;
5использование System.Web;
6
7пространство имен BLRL
8{
9 /// <сводка>
10 /// Краткое описание для Rss.
11 ///
12 общедоступных 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 SyndicateNamespaceUri = @" http://purl.org/rss/1.0/modules/syndiction/ ";
17 //Структура RSS-канала
18 структура RssChannel
19 {
20 публичная строка title;//title
21 ссылка на публичную строку;//соединение
22 общедоступных строковых языка;//язык
23 описание публичной строки;//описание
24 публичная строка webMaster;//Publisher
25}
26
27 //Информация об изображении RSS
28 структура RssImage
29 {
30 URL публичной строки;//адрес
31 публичная строка title;//title
32 public int высота;//высота
33 public int ширина;//длина
34}
35
36 //Структура элемента RSS
37 структура RssItem
38 {
39 публичная строка title;//title
40 общедоступный каталог строк;//категория
41 ссылка на публичную строку;//соединение
42 public DateTime pubDate;//Дата публикации
43 описание публичной строки;//описание
44
45 }
46 публичных RSS()
47 {
48 //
49 // TODO: добавьте сюда логику конструктора
50 //
51 }
52 /// <сводка>
53 ///Добавить информацию о версии RSS
54 ///
55 ///
56 /// <возвращается>возвращается>
57 общедоступный статический 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("версия");
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 Синдикация XmlAttributeNamespaceUriAttribute = xmlDocument.CreateAttribute("xmlns:sy");
80 синдикацияNamespaceUriAttribute.InnerText = синдикацияNamespaceUri;
81 rssElement.Attributes.Append(syndicateNamespaceUriAttribute);
82
83
84 возврат xmlDocument;
85}
86
87 /// <сводка>
88 /// Добавить канал
89 ///
90 ///
91 ///
92 /// <возвращается>возвращается>
93 частный статический XmlDocument AddRssChannel (XmlDocument xmlDocument, канал RssChannel)
94 {
95 XmlElementchannelElement = xmlDocument.CreateElement("канал");
96 XmlNode rssElement = xmlDocument.SelectSingleNode("rss");
97
98 rssElement.AppendChild(channelElement);
99
100 //Добавить заголовок
101 XmlElement ChannelTitleElement = xmlDocument.CreateElement("title");
102channelTitleElement.InnerText = канал.title;
103 ChannelElement.AppendChild(channelTitleElement);
104
105 //Добавить соединение
106 XmlElement ChannelLinkElement = xmlDocument.CreateElement("ссылка");
107 каналLinkElement.InnerText = канал.ссылка;
108 ChannelElement.AppendChild(channelLinkElement);
109
110 //Добавить описание
111 XmlElement ChannelDescriptionElement = xmlDocument.CreateElement("описание");
112 XmlCDataSection cDataDescriptionSection = xmlDocument.CreateCDataSection(channel.description);
113 ChannelDescriptionElement.AppendChild(cDataDescriptionSection);
114 ChannelElement.AppendChild(channelDescriptionElement);
115
116 //Добавить язык
117 XmlElement LanguageElement = xmlDocument.CreateElement("язык");
118 LanguageElement.InnerText = канал.язык;
119 ChannelElement.AppendChild(languageElement);
120
121 //Добавить издателя
122 XmlElement webMasterElement = xmlDocument.CreateElement("webMaster");
123 webMasterElement.InnerText = канал.webMaster;
124 ChannelElement.AppendChild(webMasterElement);
125
126 возврат xmlDocument;
127 }
128
129
130 //Добавить RSSImage
131 частный статический XmlDocument AddRssImage (XmlDocument xmlDocument, RssImage img)
132 {
133 XmlElement imgElement = xmlDocument.CreateElement("изображение");
134 XmlNodechannelElement = 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("высота");
148 imageHeightElement.InnerText = img.height.ToString();
149 imgElement.AppendChild(imageHeightElement);
150
151 //Создаем длину
152 XmlElement imageWidthElement = xmlDocument.CreateElement("ширина");
153 imageWidthElement.InnerText = img.width.ToString();
154 imgElement.AppendChild(imageWidthElement);
155
156 //Добавляем узел изображения в узел канала
157 ChannelElement.AppendChild(imgElement);
158 возврат xmlDocument;
159
160 }
161
162
163 /// <сводка>
164 /// Добавить информацию об элементе
165 ///
166 ///
167 ///
168 /// <возвращается>возвращается>
169 частный статический XmlDocument AddRssItem (XmlDocument xmlDocument, элемент RssItem)
170 {
171 XmlElement itemElement = xmlDocument.CreateElement("item");
172 XmlNodechannelElement = 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(), "гггг-ММ-ддTHH:мм:сс");
183 itemElement.AppendChild(pubDateElement);
184
185 //Добавить соединение
186 XmlElement itemLinkElement = xmlDocument.CreateElement("ссылка");
187 itemLinkElement.InnerText = item.link;
188 itemElement.AppendChild(itemLinkElement);
189
190 //Создать описание
191 XmlElement itemDescriptionElement = xmlDocument.CreateElement("описание");
192 XmlCDataSection cDataDescriptionSection = xmlDocument.CreateCDataSection(item.description);
193 itemDescriptionElement.AppendChild(cDataDescriptionSection);
194 itemElement.AppendChild(itemDescriptionElement);
195
196
197 //Создаем тип
198 XmlElement itemcatalogElement = xmlDocument.CreateElement("каталог");
199 itemcatalogElement.InnerText = item.catalog;
200 itemElement.AppendChild(itemcatalogElement);
201
202 //Добавляем RssItem в узел канала
203 ChannelElement.AppendChild(itemElement);
204
205 возврат xmlDocument;
206 }
207 }
208}
В соответствии с конкретными потребностями вы можете сначала прочитать данные в списке, затем просмотреть список, вызвать указанный выше метод и сгенерировать строку XML.
Эта строка представляет собой строку XML, используемую RS. Вы также можете ввести файл aspx, а затем использовать для вызова файла RSS, и такое программное обеспечение, как туалет, автоматически предложит информацию о RRS