
08/05/2007, 04:06
|
| | Fecha de Ingreso: enero-2006 Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 1 mes Puntos: 7 | |
Re: Cargar BS con un asp Hola!
Yo lo haria asi (en pseudocodigo)
1- Creacion de objetos necesarios:
Código:
' Creacion de documento XML
set paqueteXML = Server.CreateObject("MSXML2.DOMDocument")
paqueteXML.
Código:
async = False
' Lectura de archivos dinamicos
Set peticion = Server.CreateObject("Microsoft.XMLHTTP")
' Objetos ADODB
set conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
2- Lectura de la Base de Datos y apertura del archivo XML
Código:
conn.open "connection string"
set rs = conn.execute("SELECT * FROM bla bla bla ")
if not rs.eof then
set root = paqueteXML.createelement("raiz")
paqueteXML.appendchild(root)
3- Iteracion de los datos del recordset 4- Creacion de nodos
Código:
nuevo_nodo = root.createNode(1, "noticia", "")
root.appendChild(nuevo_nodo)
' resto de nodos
set titulo_noticia = nuevo_nodo.createNode(1, "titulo", "")
set titulo_texto = nuevo_nodo.createTextNode(rs("titulo"))
titulo_noticia.appendChild(titulo_texto)
nuevo_nodo.appendChild(titulo_noticia)
....
5- Lectura y ejecucion del archivo pertinente con objeto Microsoft.XMLHTTP
Código:
ss = PATHVIRTUALDELARCHIVO & rs("iddcontenido") & ".asp"
peticion.Open "POST", ss,False
peticion.Send
respuesta = peticion.responseText
Código:
Set objNewCDATA = nuevo_nodo.createCDATASection(respuesta)
nuevo_nodo.appendChild(objNewCDATA)
6 - Introducir el resto de los datos
Código:
' Creacion de nuevos elementos
7 - movimiento del cursor de rs, cierre de la iteracion (loop) y del condicional (end if)
Código:
rs.moveNext()
loop
end if
8 - Guardar archivo XML
Código:
paqueteXML.save(PATHFISICOCONPERMISOS & "noticias.xml")
9 - Cierre y destruccion de objetos
Código:
rs.close()
set rs = nothing
conn.close()
set conn = nothing
set peticion = nothing
set paqueteXML = nothing
Para mas informacion sobre metodos y propiedades del MSXML2.DOMDocument
Mira este post sobre RSS: http://www.forosdelweb.com/f15/como-hacer-rss-asp-485196/
La causa de que use createCDATASection para el cuerpo de las noticias es que CDATA permite incorporar los caracteres de apertura/cierre de nodos <> sin modificarlos. Un saludo
__________________ "Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
Última edición por tammander; 08/05/2007 a las 04:31 |