Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/02/2004, 12:20
albridi
 
Fecha de Ingreso: noviembre-2003
Ubicación: España
Mensajes: 212
Antigüedad: 20 años, 5 meses
Puntos: 3
Flash --> ASP --> XML

Hola a todos,

Veréis, estoy haciéndome una base de datos basada en Flash, ASP y XML.

Hasta ahora, he conseguido enviar el documento xml a través de una variable y el método loadVariables("","","") en un fotograma:

_level0.xml1="<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+"<obra>"+"<title>"+_level0.valor1[0]+"</title>"+"<autor>"+_level0.valor1[1]+"</autor>"+"<letra>"+_level0.ALetra+"</letra>"+"</obra>"

Y luego lo envío con:

loadVariables("probando1.asp?time="+tmp.getTime(), "_level0", "POST");

Lo recibo en ASP y genero un XML de la siguiente forma:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Dim objXML1, fso, tf, ts, s
Const ForReading = 1
objXML1=Trim(Request("xml1"))
Set fso = CreateObject("Scripting.FileSystemObject")
Set tf = fso.CreateTextFile(Server.MapPath("../documentos/resultado.xml"), True)
tf.Write(objXML1)
tf.Close
Set fso = nothing
Set tf = nothing
Session.Abandon
%>


Esto funciona salvo por un detalle, me escribe el XML como una interminable longaniza, aunque luego el navegador lo reconozca estructurado.

Como quiero que el XML se escriba con estructura, he probado el método siguiente, envío desde Flash:

_level0.xml2 = new XML();
_level0.xml2.parseXML("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+"<obra>"+"<title>"+_level0.valor1[0]+"</title>"+"<autor>"+_level0.valor1[1]+"</autor>"+"<letra>"+_level0.ALetra+"</letra>"+"</obra>");
_level0.xml2.sendAndLoad("probando2.asp", _level0.xml1);


Luego en ASP:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Dim objXML1, objXML2, fso, tf, ts, s
Const ForReading = 1
objXML1=Request("xml2")
Set objXML2=Server.CreateObject("Microsoft.XMLDOM")
objXML2.async="false"
objXML2.load(objXML1)
Set fso = CreateObject("Scripting.FileSystemObject")
Set tf = fso.CreateTextFile(Server.MapPath("../documentos/resultado.xml"), True)
for each x in objXML2.Element.childNodes
tf.Write(x.nodename)
tf.Write(x.text)
next
Response.Write(objXML2.parseError.reason)
Response.Write(objXML2.parseError.line)
tf.Close
Set fso = nothing
Set tf = nothing
Session.Abandon
%>


Pero no va. Estoy metiendo el cuezo a lo bestia, seguro, pero no sé dónde. No tengo nada claro como convertir el objeto XML de Flash en algo reconocible para ASP.

Necesito una ayudita.

Gracias.