La Web 2.0 es un modelo de Internet de nueva generación centrado en la personalización representado por Blog, Wike, Tag, RSS y otras tecnologías que no parecen ser demasiado populares en comparación con términos como Blog. Sin embargo, al abrir una página web,
todavía aparecen íconos llamativos como RSS y
, como sigue:
1usando el sistema;
2usando System.Xml;
3usando System.Colecciones;
4usando el Sistema.Globalización;
5usando System.Web;
6
7espacio de nombres BLRL
8{
9 /// <resumen>
10 /// Descripción resumida para Rss.
11 /// </summary>
12 Rss de clase pública
13 {
14 cadena constante dublinCoreNamespaceUri = @" http://purl.org/dc/elements/1.1/ ";
15 cadena constante slashNamespaceUri = @" http://purl.org/rss/1.0/modules/slash/ ";
16 cadena constante syndicationNamespaceUri = @" http://purl.org/rss/1.0/modules/syndication/ ";
17 //Estructura del canal RSS
18 estructura RssChannel
19 {
20 título de cadena pública;//título
21 enlace de cadena pública;//conexión
22 lenguaje de cadena pública;//idioma
23 descripción de cadena pública;//descripción
24 cadena pública webMaster;//Editor
25}
26
27 //Información de imagen RSS
28 estructura RssImagen
29 {
30 URL de cadena pública;//dirección
31 título de cadena pública;//título
32 public int altura;//altura
33 public int ancho;//longitud
34}
35
36 //Estructura de elementos RSS
37 estructura RssItem
38 {
39 título de cadena pública;//título
40 catálogo de cadenas públicas;//categoría
41 enlace de cadena pública;//conexión
42 public DateTime pubDate;//Fecha de publicación
43 descripción de cadena pública;//descripción
44
45 }
46 Rss públicas()
47 {
48 //
49 // TODO: Agregar lógica de constructor aquí
50 //
51 }
52 /// <resumen>
53 /// Agregar información de la versión rss
54 /// </summary>
55 /// <param nombre="xmlDocument"></param>
56 /// <devoluciones></devoluciones>
57 XmlDocument estático público AddRssPreamble (XmlDocument xmlDocument)
58 {
59 //Declaración para crear la versión 1.0 xml
60 Declaración Xml Declaración xml = 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("versión");
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 sindicaciónNamespaceUriAttribute = xmlDocument.CreateAttribute("xmlns:sy");
80 sindicaciónNamespaceUriAttribute.InnerText = sindicaciónNamespaceUri;
81 rssElement.Attributes.Append(syndicationNamespaceUriAttribute);
82
83
84 devolver documento xml;
85}
86
87 /// <resumen>
88 /// Agregar canal
89 /// </summary>
90 /// <param nombre="xmlDocument"></param>
91 /// <param nombre="canal"></param>
92 /// <devoluciones></devoluciones>
93 XmlDocument estático privado AddRssChannel (XmlDocument xmlDocument, canal RssChannel)
94 {
95 XmlElement channelElement = xmlDocument.CreateElement("canal");
96 XmlNode rssElement = xmlDocument.SelectSingleNode("rss");
97
98 rssElement.AppendChild(channelElement);
99
100 //Añadir título
101 XmlElement channelTitleElement = xmlDocument.CreateElement("título");
102 channelTitleElement.InnerText = canal.título;
103 canalElement.AppendChild(canalTitleElement);
104
105 //Añadir conexión
106 XmlElement channelLinkElement = xmlDocument.CreateElement("enlace");
107 canalLinkElement.InnerText = canal.enlace;
108 canalElement.AppendChild(channelLinkElement);
109
110 //Añadir descripción
111 XmlElement channelDescriptionElement = xmlDocument.CreateElement("descripción");
112 XmlCDataSection cDataDescriptionSection = xmlDocument.CreateCDataSection(canal.descripción);
113 canalDescripciónElement.AppendChild(cDataDescriptionSection);
114 canalElement.AppendChild(channelDescriptionElement);
115
116 //Agregar idioma
117 XmlElement languageElement = xmlDocument.CreateElement("idioma");
118 languageElement.InnerText = canal.idioma;
119 canalElement.AppendChild(languageElement);
120
121 //Agregar editor
122 XmlElement webMasterElement = xmlDocument.CreateElement("webMaster");
123 webMasterElement.InnerText = canal.webMaster;
124 canalElement.AppendChild(webMasterElement);
125
126 devolver documento xml;
127 }
128
129
130 //Agregar imagen Rss
131 XmlDocument estático privado AddRssImage (XmlDocument xmlDocument, RssImage img)
132 {
133 XmlElement imgElement = xmlDocument.CreateElement("imagen");
134 XmlNode channelElement = xmlDocument.SelectSingleNode("rss/canal");
135
136 //Crear título
137 XmlElement imageTitleElement = xmlDocument.CreateElement("título");
138 imageTitleElement.InnerText = img.título;
139 imgElement.AppendChild(imageTitleElement);
140
141 //Crear dirección
142 XmlElement imageUrlElement = xmlDocument.CreateElement("url");
143 imageUrlElement.InnerText = img.url;
144 imgElement.AppendChild(imageUrlElement);
145
146 //Crear altura
147 XmlElement imageHeightElement = xmlDocument.CreateElement("altura");
148 imageHeightElement.InnerText = img.height.ToString();
149 imgElement.AppendChild(imageHeightElement);
150
151 //Crear longitud
152 XmlElement imageWidthElement = xmlDocument.CreateElement("ancho");
153 imageWidthElement.InnerText = img.width.ToString();
154 imgElement.AppendChild(imageWidthElement);
155
156 //Agregar el nodo de imagen al nodo del canal
157 canalElement.AppendChild(imgElement);
158 devolver documento xml;
159
160 }
161
162
163 /// <resumen>
164 /// Agregar información del artículo
165 /// </summary>
166 /// <param nombre="xmlDocument"></param>
167 /// <nombre del parámetro="elemento"></param>
168 /// <devoluciones></devoluciones>
169 XmlDocument AddRssItem estático privado (XmlDocument xmlDocument, elemento RssItem)
170 {
171 XmlElement itemElement = xmlDocument.CreateElement("elemento");
172 XmlNode channelElement = xmlDocument.SelectSingleNode("rss/canal");
173
174 //Crear 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 //Fecha de creación
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 //Añadir conexión
186 XmlElement itemLinkElement = xmlDocument.CreateElement("enlace");
187 itemLinkElement.InnerText = elemento.enlace;
188 elementoElement.AppendChild(itemLinkElement);
189
190 //Crear descripción
191 XmlElement itemDescriptionElement = xmlDocument.CreateElement("descripción");
192 XmlCDataSection cDataDescriptionSection = xmlDocument.CreateCDataSection(item.description);
193 itemDescriptionElement.AppendChild(cDataDescriptionSection);
194 itemElement.AppendChild(itemDescriptionElement);
195
196
197 //Crear tipo
198 XmlElement itemcatalogElement = xmlDocument.CreateElement("catálogo");
199 itemcatalogElement.InnerText = item.catalog;
200 elementoElement.AppendChild(itemcatalogElement);
201
202 //Agregar RssItem al nodo del canal
203 canalElement.AppendChild(itemElement);
204
205 devolver documento xml;
206 }
207 }
208}
Según las necesidades específicas, primero puede leer los datos en la lista, luego recorrer la lista, llamar al método anterior y generar una cadena XML.
Esta cadena es la cadena XML utilizada por RS. También puede ingresar un archivo aspx y luego usar <link type="application/rss+xml" rel="alternate" href="rssfeed.aspx"> para llamar al archivo RSS, y el software como el inodoro le solicitará automáticamente para información RRS