Leer RSS XML de Blogger con ASP

28/12/2009 - 18:17 por Enrique Maldonado | Informe spam
Hola a todos,

Necesito un código que me permita leer el RSS de los blogs de blogger
que tienen sus blogs (os pongo dos ejemplos):

http://marketing-digital.blogspot.c...ts/default
http://onthecornerstreetstyle.blogs...ts/default

He probado con este codigo (pero parece que no siempre es el subnodo 6
el que tiene el título, es como si cambiase la estructura y no se como
acceder al titulo de cada blog)

<%
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 ITEM
Set objItemList = objXML.getElementsByTagName("entry")

For Each objItem In objItemList
'OBTENEMOS LOS DISTINTOS NODOS
Titulo = objItem.childNodes(6).text
Response.Write ("Titulo: " & titulo & "<br>")
Next

Set objXML = Nothing
Set objItemList = Nothing


%>

Preguntas similare

Leer las respuestas

#1 David D
15/01/2010 - 20:44 | Informe spam
Si sólo quieres los títulos no recogas los tags "entry" sino los tags
"title", cambiando
-
Set objItemList = objXML.getElementsByTagName("entry")
For Each objItem In objItemList
'OBTENEMOS LOS DISTINTOS NODOS
Titulo = objItem.childNodes(6).text
Response.Write ("Titulo: " & titulo & "<br>")
Next
-
por
-
Set objItemList = objXML.getElementsByTagName("title")
For Each objItem In objItemList
'OBTENEMOS LOS DISTINTOS NODOS
Titulo = objItem.text
Response.Write ("Titulo: " & titulo & "<br>")
Next
-
tendrás el listado de los títulos, si lo que quieres es recoger los
tags "entry" y uno por uno ver su contenido puedes hacer lo siguiente:
-
Set objItemList = objXML.getElementsByTagName("entry")
For Each objItem In objItemList
'OBTENEMOS LOS DISTINTOS NODOS
Titulo = objItem.selectSingleNode("title").text
Resumen = objItem.selectSingleNode("summary").text
Response.Write (Ucase(titulo) & ": " & Resumen & "<hr>")
Next
-

Un saludo
Visita www.perros-pastoraleman-requena.com
Busca en los-apuntes.com

On 28 dic 2009, 18:17, Enrique Maldonado
wrote:
Hola a todos,

Necesito un código que me permita leer el RSS de los blogs de blogger
que tienen sus blogs (os pongo dos ejemplos):

http://marketing-digital.blogspot.c...efaulthttp://onthecornerstreetstyle.blogspot.com/feeds/posts/default

He probado con este codigo (pero parece que no siempre es el subnodo 6
el que tiene el título, es como si cambiase la estructura y no se como
acceder al titulo de cada blog)

<%
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 ITEM
Set objItemList = objXML.getElementsByTagName("entry")

For Each objItem In objItemList
        'OBTENEMOS LOS DISTINTOS NODOS
        Titulo = objItem.childNodes(6).text
        Response.Write ("Titulo: " & titulo & "<br>")
Next

Set objXML = Nothing
Set objItemList = Nothing

%>
Respuesta Responder a este mensaje
#2 Enrique M.
19/01/2010 - 10:24 | Informe spam
Mil gracias funciona a la perfección, y con los dos fragmentos de
código puedo capturar el titular y contenido.

Lo único que me queda es poder capturar el LINK del post.

Analizando el XML veo que está en esta cadena... (es un ejemplo de un
post)

<link rel='alternate' type='text/html' href='http://marketing-
digital.blogspot.com/2008/07/adsense-para-busquedas-mejorado.html'
title='AdSense para busquedas mejorado'/>

Pero no veo la forma de sacarlo porque no entiendo bien la estructura
del XML de Blogger.

¿Puedes ayudarme?
Respuesta Responder a este mensaje
#3 David D
20/01/2010 - 20:54 | Informe spam
Para eso deberás obtener el tag "link", el 'problema' es que existen
varios tags "link", deberás especificar el que quieres coger, con
-
Enlace = objItem.selectSingleNode("link[@rel='alternate' and
@type='text/html']").getAttribute("href")
-
podrás obtener el tag "link" que tenga los atributos rel=alternate y
type=text/html, no es necesario usar los dos y también puedes usar or,
despues recoger el atributo "href" con getAttribute("href").

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.

Un saludo
Visita www.perros-pastoraleman-requena.com
Busca en los-apuntes.com

On 19 ene, 10:24, "Enrique M." wrote:
Mil gracias funciona a la perfección, y con los dos fragmentos de
código puedo capturar el titular y contenido.

Lo único que me queda es poder capturar el LINK del post.

Analizando el XML veo que está en esta cadena... (es un ejemplo de un
post)

<link rel='alternate' type='text/html' href='http://marketing-
digital.blogspot.com/2008/07/adsense-para-busquedas-mejorado.html'
title='AdSense para busquedas mejorado'/>

Pero no veo la forma de sacarlo porque no entiendo bien la estructura
del XML de Blogger.

¿Puedes ayudarme?
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida