elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Problemas para leer un RSS (Microsoft.XMLDOM)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problemas para leer un RSS (Microsoft.XMLDOM)  (Leído 4,551 veces)
LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Problemas para leer un RSS (Microsoft.XMLDOM)
« en: 8 Junio 2011, 21:07 pm »

Hola tengo problemas para leer un rss, estoy usando Microsoft.XMLDOM, el problema es cuando trato de leer el documento ("Load"), lo que es extraño para mí es que con Firefox o Internet Explorer se muestra correctamente.

el problema es con este rss http://www.taringa.net/rss/home/ultimos-posts/

al parecer es por la primera linea
Código:
<?xml version="1.0" encoding="UTF-8"?>

si yo descargo el documento en disco y pongo
Código:
<?xml version="1.0" encoding="ISO-8859-1"?>
lee el documento correctamente.

Código:
Option Explicit
'Private Doc As DOMDocument
Private Doc As Object

Private Sub Form_Load()
    Dim sURL As String
    
    'This fail
    sURL = "http://www.taringa.net/rss/home/ultimos-posts/"
    
    'This ok if Doc.validateOnParse = False
    'sURL = "http://ezrss.it/feed/"
    
    
    'This ok
    'sURL = "http://d.yimg.com/ar.rss.news.yahoo.com/rss/insolitas"
    
    'Set Doc = New DOMDocument
    Set Doc = CreateObject("Msxml2.DOMDocument.3.0") 'or "Microsoft.XMLDOM"
    
    Doc.resolveExternals = False
    Doc.async = False
    Doc.validateOnParse = False

 
    If Doc.Load(sURL) Then
        Debug.Print Doc.xml
    Else
        Debug.Print Doc.parseError
    End If
End Sub


« Última modificación: 8 Junio 2011, 21:09 pm por LeandroA » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Problemas para leer un RSS (Microsoft.XMLDOM)
« Respuesta #1 en: 8 Junio 2011, 22:41 pm »

Parece que tendrás que descargarlo y leerlo con LoadXML, aunque si tiene caracteres "raros" los tomará como "?"

Código
  1. Option Explicit
  2. 'Private Doc As DOMDocument
  3. Private Doc As Object
  4.  
  5. Private Sub Form_Load()
  6.    'Set Doc = New DOMDocument
  7.    Set Doc = CreateObject("Msxml2.DOMDocument.3.0") 'or "Microsoft.XMLDOM"
  8.  
  9.    Doc.resolveExternals = False
  10.    Doc.async = False
  11.    Doc.validateOnParse = False
  12.  
  13.    ' ChrW$(8364) = Simbolo del euro €
  14.    ' ChrW$(&H8FCE) = Simbolo de Asia del este
  15.  
  16.    If Doc.LoadXML("<?xml version=""1.0"" encoding=""UTF-8""?><symbol>" & ChrW$(8364) & ChrW$(&H8FCE) & "</symbol>") Then
  17.        Debug.Print Doc.xml
  18.    Else
  19.        Debug.Print Doc.parseError
  20.    End If
  21. End Sub
  22.  

Resultado
Código
  1. <?xml version="1.0"?>
  2. <symbol>€?</symbol>


En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: Problemas para leer un RSS (Microsoft.XMLDOM)
« Respuesta #2 en: 9 Junio 2011, 03:37 am »

Buenisimo raul, parece que funciona bien, por lo de los signos raros no importa lo ago la combercion de UTF-8 a unicode.

Saludos y muchas gracias
En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Problemas para leer un RSS (Microsoft.XMLDOM)
« Respuesta #3 en: 9 Junio 2011, 04:28 am »

Hola, leandro con ese link del rss de taringa no funciona efectivamente, pero probe con otro que es lo mismo y funciona bien.

en vez de http://www.taringa.net/rss/home/ultimos-posts/


usar esta http://rss.taringa.net/taringa/ultimos-post

Código
  1. Option Explicit
  2.  
  3. Dim Doc As DOMDocument
  4.  
  5. Private Sub Form_Load()
  6.  
  7.    Set Doc = New DOMDocument
  8.    Doc.resolveExternals = True
  9.    Doc.async = False
  10.  
  11.    If Doc.Load("http://rss.taringa.net/taringa/ultimos-post") Then
  12.        MsgBox Doc.selectNodes("/rss/channel/item").length
  13.        MsgBox GetElement("rss/channel/item/title", 0)
  14.        MsgBox GetElement("rss/channel/item/link", 0)
  15.    Else
  16.        Debug.Print Doc.parseError
  17.    End If
  18.  
  19.    Set Doc = Nothing
  20. End Sub
  21.  
  22. Private Function GetElement(NodeKey As String, Indice As Integer)
  23.    GetElement = Doc.getElementsByTagName(NodeKey).Item(Indice).Text
  24. End Function

saludos.
En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: Problemas para leer un RSS (Microsoft.XMLDOM)
« Respuesta #4 en: 9 Junio 2011, 23:36 pm »

Buena data seba, de todas formas la forma el de raul es una alternativa por si falla la primera, no es solo un rss de taringa sino es para cualquier rss de cualquier pagina.

SAludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problemas para leer juegos
Juegos y Consolas
flako750 1 1,407 Último mensaje 18 Junio 2008, 21:56 pm
por Castiblanco
[C] Problemas para leer datos
Programación C/C++
cbug 8 3,914 Último mensaje 16 Junio 2010, 19:03 pm
por cbug
Leer DBF en modo compartido con Microsoft Visual FoxPro Driver
.NET (C#, VB.NET, ASP)
almita 6 8,259 Último mensaje 13 Octubre 2010, 16:59 pm
por almita
Actualización de Microsoft crea problemas para Google y Adobe
Noticias
wolfbcn 0 1,339 Último mensaje 25 Noviembre 2010, 13:56 pm
por wolfbcn
[python] - Error de emptyList con XMLDom
Scripting
wolvelopez 1 1,814 Último mensaje 3 Octubre 2011, 20:03 pm
por wolvelopez
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines