Descargar solución LectorRSS.zip
Poder leer los RSS de otras páginas nos permitiría darle un valor agregado y muy llamativo a nuestra aplicación, ya que continuamente el contenido de nuestro sitio se podría beneficiar con la información de otros (importante: primero solicita aprobación del otro sitio web).
Tambien podríamos permitirle a nuestros usuarios que registren sus propios RSS y así tener una gran cantidad de información disponible, muy al estilo de Programar.NET y CanalRSS.com.
Descargar solución LectorRSS.zip
El primer paso será crear la funcion que lea el documento xml y lo procese antes de mostrarlo en pantalla
Dim m_xmld As XmlDocument
Dim m_nodelist As XmlNodeList
Dim m_node As XmlNode
'Creamos el “XML Document”
m_xmld = New XmlDocument
'Cargamos el archivo
m_xmld.Load(Me.txtFeed.Text)
'Obtenemos la lista de los nodos “name”
m_nodelist = m_xmld.SelectNodes(“/rss/channel/item”)
Dim dt As New DataTable
Dim dr As DataRow
dt.Columns.Add(New DataColumn(“title”, GetType(String)))
dt.Columns.Add(New DataColumn(“link”, GetType(String)))
dt.Columns.Add(New DataColumn(“pubDate”, GetType(String)))
For Each m_node In m_nodelist
dr = dt.NewRow()
dr(“title”) = m_node(“title”).InnerText
dr(“link”) = m_node(“link”).InnerText
If IsNothing(m_node(“pubDate”)) Then
dr(“pubDate”) = Date.Today.ToShortDateString
Else
dr(“pubDate”) = m_node(“pubDate”).InnerText
End If
dt.Rows.Add(dr)
Next
Me.dgFeeds.DataSource = dt
Me.dgFeeds.DataBind()
End Sub
En este ejemplo vamos a mostrar los datos en un datagrid llamado dgFeeds pero bien podrías mostrar los datos de la forma que desees.
Una ves procesados los datos los vamos a mostrar en pantalla con el siguiente código:
Codebehind=”index.aspx.vb” Inherits=”LectorFeeds.WebForm1″%>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
<HTML>
<HEAD>
<title>Lector de RSS</title>
</HEAD>
<body MS_POSITIONING=”GridLayout”>
<form id=”Form1″ method=”post” runat=”server”>
URL RSS:
<asp:TextBox id=”txtFeed” style=”Z-INDEX: 101″
runat=”server” Width=”288px”></asp:TextBox>
<asp:Button id=”btnBuscar” style=”Z-INDEX: 102″
runat=”server” Width=”88px” Text=”Leer Feed”
</asp:Button><br>
<br>
<asp:DataGrid id=”dgFeeds” runat=”server”
BorderColor=”#3366CC” BorderStyle=”None”
BorderWidth=”1px” BackColor=”White” CellPadding=”4″
AutoGenerateColumns=”False” ShowHeader=”False”>
<FooterStyle ForeColor=”#003399″ BackColor=”#99CCCC”>
</FooterStyle>
<SelectedItemStyle Font-Bold=”True” ForeColor=”#CCFF99″
BackColor=”#009999″>
</SelectedItemStyle>
<ItemStyle ForeColor=”#003399″ BackColor=”White”>
</ItemStyle>
<HeaderStyle Font-Bold=”True” ForeColor=”#CCCCFF”
BackColor=”#003399″>
</HeaderStyle>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<a href='<%# DataBinder.Eval(Container.DataItem,”link”) %>'>
<%# DataBinder.Eval(Container.DataItem,”title”) %>
</a>
(<i><%# DataBinder.Eval(Container.DataItem,”pubDate”) %>)
</i>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign=”Left” ForeColor=”#003399″
BackColor=”#99CCCC” Mode=”NumericPages”></PagerStyle>
</asp:DataGrid></form>
</body>
</HTML>
Ahora el siguiente paso es darle F5 a nuestra solución para que el resultado se pueda ver así:
Descargar solución LectorRSS.zip
Otros recursos relacionados:
– Convierte tu página en RSS de forma dinámica
– Como leer un archivo XML en VB.NET