Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/07/2008, 16:37
carloscantillano
 
Fecha de Ingreso: julio-2008
Mensajes: 2
Antigüedad: 16 años, 8 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>"

%>