ASP – Leer RSS XML de Blogger

por | 31 enero, 2018

ASP – Leer RSS XML de Blogger

Para poder leer los Feeds de Blogger desde ASP es necesario crear un objeto que admita la estructura del XML, como por ejemplo MSXML2.FreeThreadedDOMDocument

Después cargamos la url deseada y utilizamos el DOM obtenido para recoger los datos que necesitemos.

<%
Response.Charset = "iso-8859-1"
Dim objXML
Dim objItemList
Dim objItem
Dim strHTML
Set objXML = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")
objXML.async = False
objXML.setProperty "ServerHTTPRequest", True
objXML.Load("La URL del blo deseada de las del ejemplo")
If objXML.parseError.errorCode <> 0 Then
    Response.Write "<pre>" & vbCrLf
    Response.Write "<strong>Error:</strong> " & objXML.parseError.reason
    Response.Write "<strong>Linea:</strong> " & objXML.parseError.line & vbCrLf
    Response.Write "<strong>Texto:</strong> "
    Server.HTMLEncode(objXML.parseError.srcText) & vbCrLf
    Response.Write "</pre>" & vbCrLf
End If

'OBTENEMOS TODOS LOS TITULOS
Set objItemList = objXML.getElementsByTagName("title")
For Each objItem In objItemList
    'OBTENEMOS LOS DISTINTOS NODOS
    Titulo = objItem.text
    Response.Write ("Titulo: " & titulo & "<br>")
Next

'OBTENEMOS TODOS LOS TITULOS Y SUS CONTENIDOS (INCLUIDO LOS LINKS)
Set objItemList = objXML.getElementsByTagName("entry")
For Each objItem In objItemList
    'OBTENEMOS LOS DISTINTOS NODOS
    Titulo = objItem.selectSingleNode("title").text
    Resumen = objItem.selectSingleNode("summary").text
    Enlace = objItem.selectSingleNode("link[@rel='alternate' and @type='text/html']").getAttribute("href")
    Response.Write (Ucase(titulo) & ": " & Resumen & "<hr>")
Next
Set objXML = Nothing
Set objItemList = Nothing
%>

El código anterior es un ejemplo, ten en cuenta que no hemos realizado ningún control de errores, por lo que si no existe ningún tag «link» con los atributos rel=alternate y type=text/html te encontraras con un error al intentar obtener el atributo href.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *