hola hay alguna forma de crear un archivo xml desde asp?
quiero formar un xml con unos datos que voy generando dinamicamente y qeu se cree un archivo xml en sl servidor para qeu otro usuario lo acceda.
| ||||
crear xml con asp hola hay alguna forma de crear un archivo xml desde asp? quiero formar un xml con unos datos que voy generando dinamicamente y qeu se cree un archivo xml en sl servidor para qeu otro usuario lo acceda.
__________________ Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia http://www.controldevisitantes.com |
| ||||
hola, gracias por la respuesta, mas o menos esa es la idea qeu tenia, yo se como concatenar para hacer el xml mas o menos, pero no se usar el fso me puedes dar un ejemplo para crear el xml? y en caso que ya este creeado sobreescribirlo.. gracias.
__________________ Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia http://www.controldevisitantes.com |
| ||||
Justo estaba terminando esto, seguro no te costará nada entenderlo, las líneas comentadas de abajo son las que escriben el archivo, nada del otro mundo:
Código:
Public Function WriteXML() Dim FSO Dim intCount Dim strXml intCount = 50 ds = GetTopVisited() strXml = "<?xml version=""1.0""?>" & vbCrLf if isArray(ds) then Dim strName Dim strValue 'strXml = strXml & "<?xml:stylesheet type=""text/xsl"" href=""xmltest.xsl""?>" & vbCrLf strXml = strXml & "<record>" & vbCrLf Dim arrTopVisited() Redim arrTopVisited(intCount,2) strIDS = "," for i = 0 to uBound(ds,2) connectbit = 0 if inStr(1,strIDS,","&ds(0,i)&",") > 0 then connectbit = 1 else strIDS = strIDS & ds(0,i) & "," end if if connectbit = 0 then arrTopVisited(y,0) = ds(2,i) arrTopVisited(y,1) = ds(1,i) arrTopVisited(y,2) = ds(3,i) y = y + 1 end if if i+1 = cint(qty) then exit for end if next erase ds ds = arrTopVisited for j = 0 to i-1 strXml = strXml & "<page>" & vbCrLf strXml = strXml & "<name>" & Server.HTMLEncode(ds(j,1)) & "</name>" & vbCrlf strXml = strXml & "<id>" & Server.HTMLEncode(ds(j,0)) & "</id>" & vbCrlf strXml = strXml & "<hits>" & Server.HTMLEncode(ds(j,2)) & "</hits>" & vbCrlf strXml = strXml & "<pos>" & j+1 & "</pos>" & vbCrLf strXml = strXml & "</page>" & vbCrLf next strXml = strXml & "</record>" end if 'Set FSO = Server.CreateObject("Scripting.FileSystemObject") 'Set XmlFile = FSO.CreateTextFile(Application("counter_log_path")&"counter.xml", true) 'XmlFile.Write(strXml) 'Set FSO = Nothing 'Set XmlFile = Nothing WriteXML = strXml End Function
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| |||
Hace tiempo tuve que hacer una exportación de mi aplicación a un XML bastante grande atendiendo al esquema de un XSD. Lo intenté hacer de la manera que decís, creando el archivo con el FSO, pero tuve muchos problemas con las tildes, eñes y otros caracteres especiales. La solución que encontré es utilizar el objeto XMLDOM, que, según creo, está hecho para tal efecto. Te pongo un ejemplillo a ver si te puede ayudar en algo, si encuentro algún enlace majete te lo paso.
Código:
Espero que te sirva, un saludo NombreArchivo = "miarchivo.xml" Set oxml = Server.CreateObject("Microsoft.XMLDOM") Set ogrupo = oxml.createElement("grupo") ogrupo.setAttribute "xmlns", "http://www.web.com/archivoxsd.xsd" Set onodo = oxml.createElement("nodo1") onodo.Text = "textonodo1" ogrupo.appendChild onodo Set onodo = Nothing Set onodo = oxml.createElement("nodo2") onodo.Text = "textonodo2" ogrupo.appendChild onodo Set onodo = Nothing oxml.appendChild ogrupo Set ogrupo = Nothing '''''Añadimos la cabecera del XML'''''' Set cabecera = oxml.createProcessingInstruction("xml", "version='1.0' encoding='utf-8'") oxml.insertBefore cabecera, oxml.childNodes(0) Set cabecera = Nothing '''''Añadimos la cabecera del XML'''''' oxml.Save Server.MapPath(NombreArchivo) Set oxml = Nothing ![]() |
| ||||
Pues si, este approach es mejor ya que esta disenado para esto, yo me acostumbre a hacerlo asi porque no tengo que lidiar con tildes, acentos, etc... Tambien puedes investigar sobre los metodos de ADO Persistence, que te permiten generar tu XML "on the fly" a partir de un rs, nunca lo he utilizado pero tambien suena interesante. Salu2,
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Sobre la creacion Hola a todos, tenia una consulta respecto a la creacion de archivos XML. Quiero crear el siguiente XML: Cita: Esto lo cargo luego en Flash para hacer un visor.<DATOS> <CURSO foto="1" id="1" totales="5">Titulo de Prueba</CURSO> </DATOS> Pero no encuentro un método para hacer esos tags. (foto, id, totales) Existe alguna forma de hacerlo?
__________________ "No te preocupes si no funciona bien. Si todo estuviera correcto, serías despedido de tu trabajo" - Ley de mosher Blog [ http://www.tecnoaventuras.com ] |