Foros del Web » Programando para Internet » ASP Clásico »

Error al usar Microsoft.XMLDOM con ASP

Estas en el tema de Error al usar Microsoft.XMLDOM con ASP en el foro de ASP Clásico en Foros del Web. Hola! Soy nueva en cuestion de usar XML con ASP. Tengo el siguiente código que dependiendo del contenido en dos XML crear una tabla en ...
  #1 (permalink)  
Antiguo 10/08/2006, 10:47
 
Fecha de Ingreso: mayo-2006
Mensajes: 243
Antigüedad: 18 años, 1 mes
Puntos: 0
Exclamación Error al usar Microsoft.XMLDOM con ASP

Hola!

Soy nueva en cuestion de usar XML con ASP.
Tengo el siguiente código que dependiendo del contenido en dos XML crear una tabla en html con datos:
Código:
Dim numero_seccion_seleccionada
dim nombre_archivo

Set xmlDoc2 = Server.CreateObject("Microsoft.XMLDOM")
xmlDoc2.async = false
xmlDoc2.setProperty "ServerHTTPRequest", True
xmlDoc2.validateOnParse = False
xmlDoc2.resolveExternals = False

xmlDoc2.load("http://www.mipagina.com.mx/rss/sec.xml")

%>
<% If xmlDoc2.parseError.errorCode <> 0 Then %>
	<%= xmlDoc2.parseError.errorCode %>
	<br>
	<%= xmlDoc2.parseError.reason %>
	<br>
	<%= xmlDoc2.parseError.line %>
	<br>
<% Else 
	set seccion_seleccionada = xmlDoc2.getElementsByTagName("seleccionado")
	set nombres_rss = xmlDoc2.getElementsByTagName("nombreRSS")
End If %>
<%
	numero_seccion_seleccionada=seccion_seleccionada.item(0).firstChild.nodeValue
	nombre_archivo=nombres_rss.item(numero_seccion_seleccionada).firstChild.nodeValue 
	nombre_archivo=nombre_archivo & ".xml"
	
	dim xmlTitle
	dim xmlLink
	dim title
	dim link
	Set xmlDoc2 = Server.CreateObject("Microsoft.XMLDOM")
	xmlDoc2.async = false	
	xmlDoc2.setProperty "ServerHTTPRequest", True
	xmlDoc2.validateOnParse = False
	xmlDoc2.resolveExternals = False
	xmlDoc2.load("http://www.mipagina.com.mx/rss/"+nombre_archivo)													
%>
<% If xmlDoc2.parseError.errorCode <> 0 Then %>
	<%= xmlDoc2.parseError.errorCode %>
	<br>
	<%= xmlDoc2.parseError.reason %>
	<br>
	<%= xmlDoc2.parseError.line %>
	<br>
<% Else 
	set xmlTitle = xmlDoc2.getElementsByTagName("item/title")
	set xmlLink = xmlDoc2.getElementsByTagName("item/link")
End If 

%>

<!--- Mancheta TitularesNot&iacute;cias --->
<table width="138" border="0" cellspacing="0" cellpadding="0" valign="TOP" ID="Table1">
<tr><td width="1" rowspan="3" class="mchor">&nbsp;</td>
	<td width="138" height="1" class="mchor"><img width=1 height=1 /></td>
	<td rowspan="3" class="mchor">&nbsp;</td></tr>
<tr><td class="mch2">&nbsp;Titulares</td></tr>
<tr><td height="1" class="mchor"><img width=1 height=1 /></td></tr>
</table>

<!--- Imagen--->
<table width="138" border="0" cellspacing="0" cellpadding="0" valign="TOP" ID="Table2">
<tr>
<td rowspan="2" class="tblor">&nbsp;</td>
	<td class="tbl">

		
<table width="136" border="0" cellspacing="4" cellpadding="0" ID="Table3">
<tr><td height=1 class=spc colspan=2>&nbsp;</td></tr>
<%  For n = 0 To xmlTitle.length-1 
		title = xmlTitle.item(n).firstChild.nodeValue
		link=xmlLink.item(n).firstChild.nodeValue
%>
	<tr><td width="10" valign="top" class=nar align=right>&nbsp;&raquo;&nbsp;</td>
	<td class="tx2"><a href="<%= link %>" class="tx2"><%= title %></a></td>
	</tr>
<% Next %>
</table>
	</td>
	<td rowspan="1" class="tblor">&nbsp;</td>
	</tr>
	<tr><td height="1" class="tblor"><img width=1 height=1 /></td>
	</tr>
	<tr><td class="spc" height=14>&nbsp;</td>
	
	</tr>
</table>
Pero me marca el siguiente error:

-2147012889
System error: -2147012889.
0

Microsoft VBScript runtime error '800a01a8'

Object required: 'seccion_seleccionada'

/stage/asp/titulares.asp, line 29

la línea 29 es la siguiente:

Código:
numero_seccion_seleccionada=seccion_seleccionada.item(0).firstChild.nodeValue
Agradezco su ayuda

Última edición por Emerald; 10/08/2006 a las 11:51
  #2 (permalink)  
Antiguo 10/08/2006, 10:58
 
Fecha de Ingreso: mayo-2006
Mensajes: 243
Antigüedad: 18 años, 1 mes
Puntos: 0
Aqui pongo los .xml:

sec.xml

Código:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?> 
- <secciones>
- <seccion>
  <titulo>Portada</titulo> 
  <nombre>Titulares</nombre> 
  <nombreRSS>Titulares</nombreRSS> 
  <seleccionado>0</seleccionado> 
  </seccion>
- <seccion>
  <titulo>Portada</titulo> 
  <nombre>Noticias</nombre> 
  <nombreRSS>Noticias</nombreRSS> 
  <seleccionado>0</seleccionado> 
  </seccion>
- <seccion>
  <titulo>Portada</titulo> 
  <nombre>Deportes</nombre> 
  <nombreRSS>Deportes</nombreRSS> 
  <seleccionado>0</seleccionado> 
  </seccion>
- <seccion>
  <titulo>Portada</titulo> 
  <nombre>Finanzas</nombre> 
  <nombreRSS>Finanzas</nombreRSS> 
  <seleccionado>0</seleccionado> 
  </seccion>
  </secciones>
Titulares.xml

Código:
<?xml version="1.0" encoding="ISO-8859-1" ?> 
- <rss version="2.0">
- <channel>
  <title>Titulares</title> 
  <link>http://</link> 
  <description /> 
  <xsl>xsl/formato1.xsl</xsl> 
  <language>mx-es</language> 
- <item>
- <topic>
- <![CDATA[ Planes
  ]]> 
  </topic>
- <title>
- <![CDATA[ Frustran plan  ]]> 
  </title>
- <link>
- <![CDATA[ http://www.mipagina.com.mx/articulo/196/
  ]]> 
  </link>
- <description>
- <![CDATA[ frustran plan de tiempo  ]]> 
  </description>
- <image>
- <title>
- <![CDATA[ Frustran plan ]]> 
  </title>
  <url>i/012778_1.jpg</url> 
- <link>
- <![CDATA[ http://www.mipagina.com.mx/articulo/196/
  ]]> 
  </link>
  <width>144</width> 
  <height>136</height> 
  <description>![CDATA[frustran plan de tiempo]]</description> 
  </image>
  <audio>0</audio> 
- <urlAudio>
- <![CDATA[ http://
  ]]> 
  </urlAudio>
  <video>0</video> 
- <urlVideo>
- <![CDATA[ http://
  ]]> 
  </urlVideo>
  <galeria>0</galeria> 
- <urlGaleria>
- <![CDATA[ http://
  ]]> 
  </urlGaleria>
  <compras>0</compras> 
- <urlCompras>
- <![CDATA[ http://
  ]]> 
  </urlCompras>
  <verMas>1</verMas> 
- <textoVerMas>
- <![CDATA[ 'Pronto regreso' al aeropuerto]]> 
  </textoVerMas>
- <urlVerMas>
- <![CDATA[ http://www.mipagina.com.mx/articulo/196/
  ]]> 
  </urlVerMas>
  </item>
- <item>
- <topic>
- <![CDATA[ Mercados
  ]]> 
  </topic>
- <title>
- <![CDATA[ Caen acciones
  ]]> 
  </title>
- <link>
- <![CDATA[ http://www.mipagina.com/noticia.aspx?idNoticia=20060
  ]]> 
  </link>
- <description>
- <![CDATA[ caen acciones de aerolíneas: Brithis Airways ]]> 
  </description>
- <image>
- <title>
- <![CDATA[ Caen acciones
  ]]> 
  </title>
  <url>i/ns/012779_2.jpg</url> 
- <link>
- <![CDATA[ http://www.mipagina.com/noticia.aspx?idNoticia=200608 ]]> 
  </link>
  <width>135</width> 
  <height>65</height> 
  <description>![CDATA[caen acciones de aerolíneas]]</description> 
  </image>
  <audio>0</audio> 
- <urlAudio>
- <![CDATA[ http://
  ]]> 
  </urlAudio>
  <video>0</video> 
- <urlVideo>
- <![CDATA[ http://
  ]]> 
  </urlVideo>
  <galeria>0</galeria> 
- <urlGaleria>
- <![CDATA[ http://
  ]]> 
  </urlGaleria>
  <compras>0</compras> 
- <urlCompras>
- <![CDATA[ http://
  ]]> 
  </urlCompras>
  <verMas>1</verMas> 
- <textoVerMas>
- <![CDATA[ Lo más consultado
  ]]> 
  </textoVerMas>
- <urlVerMas>
- <![CDATA[ http://www.mipagina.com/accesadas.aspx
  ]]> 
  </urlVerMas>
  </item>
- <item>
- <topic>
- <![CDATA[ Invierte
  ]]> 
  </topic>
- <title>
- <![CDATA[ Revira SHCP
  ]]> 
  </title>
- <link>
- <![CDATA[ http://www.mipagina.com/noticias/noticia.aspx?idNoticia=200608101411_INF_29814422
  ]]> 
  </link>
- <description>
- <![CDATA[ La SHCP denuncia  ]]> 
  </description>
- <image>
- <title>
- <![CDATA[ Revira SHCP
  ]]> 
  </title>
  <url>i/ns/012780_2.jpg</url> 
- <link>
- <![CDATA[ http://www.mipagina.com/noticia.aspx?idNoticia=2006 ]]> 
  </link>
  <width>135</width> 
  <height>65</height> 
  <description>![CDATA[La SHCP denuncia]]</description> 
  </image>
  <audio>0</audio> 
- <urlAudio>
- <![CDATA[ http://
  ]]> 
  </urlAudio>
  <video>0</video> 
- <urlVideo>
- <![CDATA[ http://
  ]]> 
  </urlVideo>
  <galeria>0</galeria> 
- <urlGaleria>
- <![CDATA[ http://
  ]]> 
  </urlGaleria>
  <compras>0</compras> 
- <urlCompras>
- <![CDATA[ http://
  ]]> 
  </urlCompras>
  <verMas>1</verMas> 
- <textoVerMas>
- <![CDATA[ Fox reducirá deuda  ]]> 
  </textoVerMas>
- <urlVerMas>
- <![CDATA[ http://www.mipagina/noticia.aspx?idNoticia=20060 ]]> 
  </urlVerMas>
  </item>
  </channel>
  </rss>

Última edición por Emerald; 10/08/2006 a las 11:03
  #3 (permalink)  
Antiguo 10/08/2006, 11:01
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Lo mas probable es que no pudo cargar el xml, y cae en esa condicion por lo tanto nunca hace la instancia de tu objeto, lo que puedes hacer es en el error handler, poner un response.end para cerciorarte de esto.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 10/08/2006, 11:07
 
Fecha de Ingreso: mayo-2006
Mensajes: 243
Antigüedad: 18 años, 1 mes
Puntos: 0
gracias!, como comentaba en mi mensaje, soy nueva en esto... no entendí eso de "en el error handler, poner un response.end", te refieres a poner un response.end dentro de <% If xmlDoc2.parseError.errorCode <> 0 Then %> ?

Gracias!
  #5 (permalink)  
Antiguo 10/08/2006, 11:14
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Eso mismo, ademas me parece que la lógica que usas está un poquito mal...es solo una observación
Código:
Si no puedo cargar el XML entonces
  Termino el proceso
Si no Si
   instancio otro objeto
   proceso mi xml
   etc
Fin Si
Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 10/08/2006, 11:42
 
Fecha de Ingreso: mayo-2006
Mensajes: 243
Antigüedad: 18 años, 1 mes
Puntos: 0
Si entró al error, puse un:

response.write " si entro al error"
response.end%>

dentro de: <% If xmlDoc2.parseError.errorCode <> 0 Then %>

En cuanto a la lógica, lo que quiero hacer es:

Revisar el sec.xml y obtener el contenido de la etiqueta: <seleccionado>, que como puedes ver es el mismo valor siempre, este valor me representa la posicion del la <seccion> que voy a usar para formar el path del siguiente archivo XML que voy a mandar llamar, que en este caso el valor de <seleccionado> es 0

Por lo tanto quiero la seccion que está en la posicion 0 que en este caso es la <seccion> que tiene por <nombrerss> Titulares, entonces el archivo que realmente me va a servir para formar mi tabla es Titulares.xml

No se si me explique??

Entonces, sí entró al error, quiere decir que no se pudo cargar el src.xml?... a qué se puede deber esto???

Gracias!

Última edición por Emerald; 10/08/2006 a las 11:58
  #7 (permalink)  
Antiguo 10/08/2006, 11:54
 
Fecha de Ingreso: mayo-2006
Mensajes: 243
Antigüedad: 18 años, 1 mes
Puntos: 0
Lo más extraño es que tengo este proyecto en un server en donde funciona muy bien, y al pasar todo el proyecto a otro server, es ahi en donde no me funciona, la diferencia es que este nuevo server es windows 2003 y el otro creo que es 2000. No me faltará instalar algo?
  #8 (permalink)  
Antiguo 10/08/2006, 12:18
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Seguramente un error de permisos, asegurate que la ruta del xml sea la correcta y que tengas los suficientes permisos para leer este archivo.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 10/08/2006, 14:32
 
Fecha de Ingreso: mayo-2006
Mensajes: 243
Antigüedad: 18 años, 1 mes
Puntos: 0
Gracias!

Efectivamente!
era cuestion de permisos!

Muchas muchas gracias!

me compliqué demasiado la vida jeje..
  #10 (permalink)  
Antiguo 10/08/2006, 15:11
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
Iniciado por Emerald Ver Mensaje
Gracias!
me compliqué demasiado la vida jeje..
si...de nada!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:56.