Web 2.0 é um modelo de Internet de nova geração centrado na personalização representado por Blog, Wike, Tag, RSS e outras tecnologias que não parecem ser muito populares em comparação com termos como Blog. No entanto, ao abrir uma página web,
ainda existem ícones atraentes como RSS e
,como segue:
1usando Sistema;
2usando System.Xml;
3usando System.Collections;
4usando System.Globalization;
5usando System.Web;
6
7espaço de nomes BLRL
8{
9 /// <resumo>
10 /// Descrição resumida para Rss.
11 /// </summary>
12 aula pública 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 //Estrutura do canal RSS
18 estrutura RssChannel
19 {
20 string pública título; //título
21 link de string pública; //conexão
22 linguagem de string pública; //idioma
23 descrição da string pública; //descrição
24 string pública webMaster; // Editor
25}
26
27 //Informações da imagem RSS
28 estrutura RssImage
29 {
30 URL de string pública; //endereço
31 string pública título; //título
32 público int altura; //altura
33 público int largura;//comprimento
34}
35
36 //Estrutura do item RSS
37 estrutura RssItem
38 {
39 string pública título; //título
Catálogo de 40 strings públicas; //categoria
41 link de string pública; //conexão
42 public DateTime pubDate; //Data de publicação
43 descrição da string pública; //descrição
44
45}
46 Rss público()
47 {
48 //
49 // TODO: Adicione a lógica do construtor aqui
50 //
51}
52 /// <resumo>
53 ///Adicionar informações da versão RSS
54 /// </summary>
55 /// <param name="xmlDocument"></param>
56 /// <retorna></retorna>
57 XmlDocument estático público AddRssPreamble (XmlDocument xmlDocument)
58 {
59 //Declaração para criar a versão 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("versão");
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 retornar xmlDocumento;
85}
86
87 /// <resumo>
88 /// Adicionar canal
89 /// </summary>
90 /// <param name="xmlDocument"></param>
91 /// <param name="canal"></param>
92 /// <retorna></retorna>
93 XmlDocument AddRssChannel estático privado (XmlDocument xmlDocument, canal RssChannel)
94 {
95 XmlElement canalElement = xmlDocument.CreateElement("canal");
96 XmlNode rssElement = xmlDocument.SelectSingleNode("rss");
97
98 rssElement.AppendChild(canalElement);
99
100 //Adicionar título
101 XmlElement canalTitleElement = xmlDocument.CreateElement("título");
102 canalTitleElement.InnerText = canal.título;
103 canalElement.AppendChild(canalTitleElement);
104
105 //Adicionar conexão
106 XmlElement canalLinkElement = xmlDocument.CreateElement("link");
107 canalLinkElement.InnerText = canal.link;
108 canalElement.AppendChild(canalLinkElement);
109
110 //Adicionar descrição
111 XmlElement canalDescriptionElement = xmlDocument.CreateElement("descrição");
112 XmlCDataSection cDataDescriptionSection = xmlDocument.CreateCDataSection(canal.descrição);
113 canalDescriptionElement.AppendChild(cDataDescriptionSection);
114 canalElement.AppendChild(canalDescriptionElement);
115
116 //Adicionar idioma
117 XmlElement idiomaElement = xmlDocument.CreateElement("idioma");
118 idiomaElement.InnerText = canal.idioma;
119 canalElement.AppendChild(idiomaElement);
120
121 //Adicionar editor
122 XmlElement webMasterElement = xmlDocument.CreateElement("webMaster");
123 webMasterElement.InnerText = canal.webMaster;
124 canalElement.AppendChild(webMasterElement);
125
126 retornar xmlDocumento;
127}
128
129
130 //Adicionar imagem Rss
131 XmlDocument AddRssImage estático privado (XmlDocument xmlDocument, RssImage img)
132 {
133 XmlElement imgElement = xmlDocument.CreateElement("imagem");
134 XmlNode canalElement = xmlDocument.SelectSingleNode("rss/canal");
135
136 //Criar título
137 XmlElement imageTitleElement = xmlDocument.CreateElement("título");
138 imageTitleElement.InnerText = img.title;
139 imgElement.AppendChild(imageTitleElement);
140
141 //Criar endereço
142 XmlElement imageUrlElement = xmlDocument.CreateElement("url");
143 imageUrlElement.InnerText = img.url;
144 imgElement.AppendChild(imageUrlElement);
145
146 //Criar altura
147 XmlElement imageHeightElement = xmlDocument.CreateElement("altura");
148 imageHeightElement.InnerText = img.height.ToString();
149 imgElement.AppendChild(imageHeightElement);
150
151 //Criar comprimento
152 XmlElement imageWidthElement = xmlDocument.CreateElement("largura");
153 imageWidthElement.InnerText = img.width.ToString();
154 imgElement.AppendChild(imageWidthElement);
155
156 //Adiciona o nó da imagem ao nó do canal
157 canalElement.AppendChild(imgElement);
158 return xmlDocumento;
159
160}
161
162
163 /// <resumo>
164 /// Adicionar informações do item
165 /// </summary>
166 /// <param name="xmlDocument"></param>
167 /// <param name="item"></param>
168 /// <retorna></retorna>
169 XmlDocument AddRssItem estático privado (XmlDocument xmlDocument, item RssItem)
170 {
171 XmlElement itemElement = xmlDocument.CreateElement("item");
172 XmlNode canalElement = xmlDocument.SelectSingleNode("rss/canal");
173
174 //Criar título
175 XmlElement itemTitleElement = xmlDocument.CreateElement("título");
176 XmlCDataSection cDataTitleSection = xmlDocument.CreateCDataSection(item.title);
177 itemTitleElement.AppendChild(cDataTitleSection);
178 itemElement.AppendChild(itemTitleElement);
179
180 //Data de criação
181 XmlElement pubDateElement = xmlDocument.CreateElement("pubDate");
182 pubDateElement.InnerText = XmlConvert.ToString(item.pubDate.ToUniversalTime(), "aaaa-MM-ddTHH:mm:ss");
183 itemElement.AppendChild(pubDateElement);
184
185 //Adicionar conexão
186 XmlElement itemLinkElement = xmlDocument.CreateElement("link");
187 itemLinkElement.InnerText = item.link;
188 itemElement.AppendChild(itemLinkElement);
189
190 //Criar descrição
191 XmlElement itemDescriptionElement = xmlDocument.CreateElement("descrição");
192 XmlCDataSection cDataDescriptionSection = xmlDocument.CreateCDataSection(item.descrição);
193 itemDescriptionElement.AppendChild(cDataDescriptionSection);
194 itemElement.AppendChild(itemDescriptionElement);
195
196
197 //Criar tipo
198 XmlElement itemcatalogElement = xmlDocument.CreateElement("catálogo");
199 itemcatalogElement.InnerText = item.catalog;
200 itemElement.AppendChild(itemcatalogElement);
201
202 //Adiciona RssItem ao nó do canal
203 canalElement.AppendChild(itemElement);
204
205 return xmlDocumento;
206}
207}
208}
De acordo com necessidades específicas, você pode primeiro ler os dados na lista, depois percorrer a lista, chamar o método acima e gerar uma string XML.
Esta string é a string XML usada pelo RS. Você também pode inserir um arquivo aspx e usar <link type="application/rss+xml" rel="alternate" href="rssfeed.aspx"> para chamar o arquivo RSS, e softwares como o banheiro solicitarão automaticamente para informações RRS
http: //jillzhang.cnblogs.com/archive/2006/06/11/423086.html