Hola este ejemplo lo diseño en su día para que me cargara las variables desde una base de datos ACCES, el problema posterior es que me daba un error asíncrono entre el servidor y el cliente, ya que uso un JQuery para cargar la galería, así que tras mucho intentarlo he desisitido de cargar los datos desde la base de datos y decidí hacer lo siguiente:
Usar un XML como comodín. Donde con otro script exporto los datos de la BD y los grabo en un XML. Acto siguiente para leerlo desde el Navegador llamo a ese XML y así resuelvo el asincronismo.
En resumen:
El caso es que ando muy perdido con XLDOM y sobre todo con el DO WHILE porque no se como estructurar el dichoso Bucle con XML para que me lea los datos del XML. Estoy leyéndome el FAQ de XLDOM, estoy googleando a muerte y también he mirado aquí en antiguos post y sigo en las mismas.
Este es el codigo:
Código ASP:
Ver original<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!-- ////////////////////////////////////////////////// START ///////////////////////////////////////////////////////// -->
<div id="seccion">
<%
' Variables.
Dim xml, oXml
Dim v_id, v_link, v_titulo, v_seccion, v_describe
Dim Salto
'Asigno Variables.
items = "items"
i = 1
v_id = xml.documentElement.childNodes(0).text '"v_id"
v_link = xml.documentElement.childNodes(1).text '"v_link"
v_seccion = xml.documentElement.childNodes(2).text '"v_seccion"
v_titulo = xml.documentElement.childNodes(3).text '"v_titulo"
v_describe = xml.documentElement.childNodes(4).text '"v_describe"
Salto = Replace (cadena, vbCrLf, "<BR>")
'Creo el objeto de XMLDOM
Set xml = Server.CreateObject("Microsoft.XMLDOM")
'No dejo que el archivo se edite si está en uso
xml.async = False
'Cargo el archivo
xml.load (Server.MapPath("./db/vid.xml"))
'Si el archivo XML tiene errores
If xml.parseError.errorCode <> 0 Then
Response.Write("<p> Hay un error en el archivo XML: <b>" "<p>")
Response.Write("<b>"& xml.parseError.reason & xml.parseError.line & xml.parseError.linepos)
Response.End
End If
'Si no contiene errores continuo. Creo un objeto XML y ejecuto la orden.
Set oXML = xml.getElementsByTagName(items+i)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' BUCLE ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Recorre todas las filas del resultado
Do While Not oXML.EOF
%>
<div id="demo">
<ul>
<li><%= v_id %>º</li>
<li><%= v_link %></li>
<li><%= v_seccion %></li>
<li><%= v_titulo %></li>
<li><%= v_describe %></li>
</ul>
</div>
<%
'Pasa a la siguiente fila
oXML.MoveNext()
i=i+1
Loop
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' BUCLE ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Libera memoria
oXML.Close
Set oXML = Nothing
xml.Close
Set xml = Nothing
'Cerramos variables
Set v_id = Nothing
Set v_link = Nothing
Set v_titulo = Nothing
Set v_seccion = Nothing
Set v_describe = Nothing
%>
</div>
<!-- ////////////////////////////////////////////////// FIN ///////////////////////////////////////////////////////// -->
El archivo XML sería este:
Código XML:
Ver original<?xml version="1.0" encoding="iso-8859-1"?>
<items>
<item>
<v_id>1</v_id>
<v_link>http://www.youtube.com/watch?v=qMlmcQTN-Es</v_link>
<v_titulo>Título.</v_titulo>
<v_seccion>Sección.</v_seccion>
<v_describe>Descripción.</v_describe>
</item>
<item>
<v_id>2</v_id>
<v_link>http://www.youtube.com/watch?v=qMlmcQTN-Es</v_link>
<v_titulo>Título.</v_titulo>
<v_seccion>Sección.</v_seccion>
<v_describe>Descripción.</v_describe>
</item>
</items>
De verdad Mil gracias si me podéis echar un cable.
Saludos.