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

parseo de XML en ASP

Estas en el tema de parseo de XML en ASP en el foro de ASP Clásico en Foros del Web. amigos estoy tratando de enviar un XML en una variable TX (contenida en un codigo html) a una pagina ASP. ¿alguien podria ayudarme? la verdad ...
  #1 (permalink)  
Antiguo 29/07/2008, 11:01
 
Fecha de Ingreso: julio-2008
Mensajes: 2
Antigüedad: 15 años, 9 meses
Puntos: 0
parseo de XML en ASP

amigos

estoy tratando de enviar un XML en una variable TX (contenida en un codigo html) a una pagina ASP. ¿alguien podria ayudarme? la verdad no se que estoy haciendo mal


Cita:

response.ContentType = "text/plain"
'Crea el Dom XML

Dim objXML

Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = False
objXML.loadXml(Request.ServerVariables("TX"))

set Element=objXML.getElementsByTagName("MPOUT")

if (objXML.parseError.errorCode <> 0) then
response.write "Error en XML de notificacion: " & objXML.parseError.errorCode
response.end

End if

'Busco la etiqueta CODRET
Codret=Element.item(0).selectNodes("CODRET").ITEM( 0).text

'Anulo el objeto
set objXML=nothing

response.write Codret

%>

aqui va el html que estoy enviando
Cita:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>



<body>
<form name="form1" method="POST" action="http://IP/notificacion2.asp">
<input type="text" name="TX" size="100" value="<MPOUT><CODRET>0000</CODRET><DESCRET>Transaccion%0K</DESCRET><IDCOM>7201200001</IDCOM><IDTRX>0000000000021865</IDTRX><TOTAL>118449</TOTAL><NROPAGOS>1</NROPAGOS><FECHATRX>20080612084910</FECHATRX><FECHACONT>20080612</FECHACONT><NUMCOMP>7835084298</NUMCOMP><IDREG>4897365</IDREG></MPOUT>">

<input type="Submit" name="submit" Value="Enviar">
</form>


</body>
</html>
  #2 (permalink)  
Antiguo 29/07/2008, 16:37
 
Fecha de Ingreso: julio-2008
Mensajes: 2
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: parseo de XML en ASP

despues de tanto batallar, encontre algo que me sirvio

objXML.loadXML(Request.QueryString("TX"))

por lo tanto el html que envia los parametros seria:

Cita:
<html>
<head>
<script>
function enviar(destino){
path = destino + '?TX='+document.form1.textfield.value
location.href= path
}
</script>
</head>
<body>
<form name="form1" method="post" action="http://10.10.10.104/Paginas/notificacion2.asp">
Valor <input style="Z-INDEX: 102; LEFT: 180px; WIDTH: 709px; HEIGHT: 54px" type="text" name="textfield" value= "<MPOUT><CODRET>0000</CODRET><DESCRET>Transaccion%0K</DESCRET><IDCOM>7201200001</IDCOM><IDTRX>0000000000021865</IDTRX><TOTAL>118449</TOTAL><NROPAGOS>1</NROPAGOS><FECHATRX>20080612084910</FECHATRX><FECHACONT>20080612</FECHACONT><NUMCOMP>7835084298</NUMCOMP><IDREG>4897365</IDREG></MPOUT>">
<p><a href="#" onclick="enviar('http://10.10.10.104/Paginas/notificacion2.asp')">Enviar MPOUT</a></p>
</form>
</body>
</html>

y el asp que recibe seria:

Cita:
<%
REM*********************************************** **************************
REM Pagina: NOTIFICACION.ASP
REM Objetivo: Permite actualizar la base de nominas desde medio de pago.
REM Descrip: * Recupera y parsea el xml
REM*********************************************** **************************

response.ContentType = "text/plain"
'Crea el Dom XML

Dim objXML
Dim Codret

XML = "<MPOUT><CODRET>0000</CODRET><DESCRET>Transaccion%0K</DESCRET><IDCOM>7201200001</IDCOM><IDTRX>0000000000021865</IDTRX><TOTAL>118449</TOTAL><NROPAGOS>1</NROPAGOS><FECHATRX>20080612084910</FECHATRX><FECHACONT>20080612</FECHACONT><NUMCOMP>7835084298</NUMCOMP><IDREG>4897365</IDREG></MPOUT>"

Set objXML = Server.CreateObject("Microsoft.XMLDOM")
'objXML.async = False
'objXML.load("C:\index.xml")
'objXML.loadXML(Request.ServerVariables("TX"))
'Response.Write(Request.QueryString("TX"))
'objXML.loadXML("TX")
objXML.loadXML(Request.QueryString("TX"))

if (objXML.parseError.errorCode <> 0) then
response.write "Error en XML de notificacion: " & objXML.parseError.errorCode
response.end
End if

'Busca todos los elemento con ala etiqueta MPOUT
set Element=objXML.getElementsByTagName("MPOUT")
'Busco la etiqueta CODRET
Codret=Element.item(0).selectNodes("CODRET").ITEM( 0).text

if Codret<>"0000" then
'ocurrio un error en el banco y no hubo pago
else

'Busca todos los tags necesarios para la actualización del estado en la base
DescRet=Element.item(0).selectNodes("DESCRET").ITE M(0).text
IdeTrx=Element.item(0).selectNodes("IDTRX").ITEM(0 ).text
IdeCom=Element.item(0).selectNodes("IDCOM").ITEM(0 ).text
Total=Element.item(0).selectNodes("TOTAL").ITEM(0) .text
NroPagos=Element.item(0).selectNodes("NROPAGOS").I TEM(0).text
NumComprobante=Element.item(0).selectNodes("NUMCOM P").ITEM(0).text
FechaTRX=Element.item(0).selectNodes("FECHATRX").I TEM(0).text
FechaCONT=Element.item(0).selectNodes("FECHACONT") .ITEM(0).text

'Codigo de actualición a la base de datos
'aqui va el codigo de conexion a base de datos y actualizacion


end if

'Anulo el objeto
set objXML=nothing

response.write "<NOTIFICA>OK</NOTIFICA>"

%>
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 17:46.