Hola Walter.

No pierdas el tiempo intentando utilizar el XmlCursor xq no sirve p estos
xml.

 

Tenes varias formas de sacar el contenido de un xml. Podes hacerlo de una
forma simple, donde te muestro procesando parte del xml devuelto x Afip y
grabándolo en un archivo,  aunque podrías recorrerlo de la misma forma y
guardar los valores en un objeto Custom.

 

   lcrespuesta = lohttp.responsetext

    lnposi = AT('<FeCabResp>', lcrespuesta)+11

    lnposf = AT('</FeCabResp>', lcrespuesta)

    lccabecera = SUBSTR(lcrespuesta, lnposi, lnposf-lnposi)

    SELECT CaeCab

    FOR lnparte = 1 TO GETWORDCOUNT(lccabecera, '<')

       DO CASE

          CASE GETWORDNUM(GETWORDNUM(lccabecera, lnparte, '<'), 1,
'>')='Cuit'

             APPEND BLANK

             REPLACE cuit WITH GETWORDNUM(GETWORDNUM(lccabecera, lnparte,
'<'), 2, '>')

          CASE GETWORDNUM(GETWORDNUM(lccabecera, lnparte, '<'), 1,
'>')='PtoVta'

             REPLACE ptovta WITH VAL(GETWORDNUM(GETWORDNUM(lccabecera,
lnparte, '<'), 2, '>'))

          CASE GETWORDNUM(GETWORDNUM(lccabecera, lnparte, '<'), 1,
'>')='CbteTipo'

             replace tipocbte WITH VAL(GETWORDNUM(GETWORDNUM(lccabecera,
lnparte, '<'), 2, '>'))

          CASE GETWORDNUM(GETWORDNUM(lccabecera, lnparte, '<'), 1,
'>')='CantReg'

             REPLACE CantReg WITH VAL(GETWORDNUM(GETWORDNUM(lccabecera,
lnparte, '<'), 2, '>'))

          CASE GETWORDNUM(GETWORDNUM(lccabecera, lnparte, '<'), 1,
'>')='Resultado'

             REPLACE resultado WITH GETWORDNUM(GETWORDNUM(lccabecera,
lnparte, '<'), 2, '>')

          CASE GETWORDNUM(GETWORDNUM(lccabecera, lnparte, '<'), 1,
'>')='Reproceso'

             REPLACE Reproceso WITH GETWORDNUM(GETWORDNUM(lccabecera,
lnparte, '<'), 2, '>')

       ENDCASE

    ENDFOR

 

O hacerlo manejándolo como objeto (MSXML.DOMDocument), q esta forma es muy
eficiente, pero tenes q tener un poco de conocimiento.

En el otro foro, el usuario mapner subió un ejemplo q te lo comparto

https://groups.google.com/forum/?hl=es#!searchin/publicesvfoxpro/Factura$20E
lectr%C3%B3nica$20Argentina$20-$20Procesar$20Respuesta/publicesvfoxpro/ecg6p
4_Bdmk/abfOp_bBxg8J

 

Saludos.

 

Esteban.

 

De: [email protected] [mailto:[email protected]] En nombre de Walter Comito
Enviado el: lunes, 24 de agosto de 2015 06:04 p.m.
Para: GUFA List Member
Asunto: [GUFA] LEER XML

 

Amigos como están, tengo un problema para pàsar este xml a un cursor en vfp.

 

Use el famoso xmlto cursor pero no funciona.

Este xml es lo que me devuelve la afip cuando consulto un comprobante ya
autorizado.

 

Si alguien me puede dar una mano se lo agradecería.

 

<?xml version="1.0" encoding="utf-8"?><soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"; 

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>

<soap:Body>

<FECompConsultarResponse xmlns="http://ar.gov.afip.dif.FEV1/";>

<FECompConsultarResult>

<ResultGet>

<Concepto>3</Concepto>

<DocTipo>86</DocTipo>

<DocNro>30702637895</DocNro>

<CbteDesde>1</CbteDesde>

<CbteHasta>1</CbteHasta>

<CbteFch>20150319</CbteFch>

<ImpTotal>1.21</ImpTotal>

<ImpTotConc>0</ImpTotConc>

<ImpNeto>1</ImpNeto>

<ImpOpEx>0</ImpOpEx>

<ImpTrib>0</ImpTrib>

<ImpIVA>0.21</ImpIVA>

<FchServDesde>20150319</FchServDesde>

<FchServHasta>20150319</FchServHasta>

<FchVtoPago>20150319</FchVtoPago>

<MonId>PES</MonId>

<MonCotiz>1</MonCotiz>

<Iva>

         <AlicIva>

                   <Id>5</Id>

<BaseImp>1</BaseImp>

<Importe>0.21</Importe>

         </AlicIva>

                   </Iva>

<Resultado>A</Resultado>

<CodAutorizacion>65122100099740</CodAutorizacion>

<EmisionTipo>CAE</EmisionTipo>

<FchVto>20150329</FchVto>

<FchProceso>20150319164020</FchProceso>

<PtoVta>3</PtoVta>

<CbteTipo>6</CbteTipo>

</ResultGet>

</FECompConsultarResult>

</FECompConsultarResponse>

</soap:Body>

</soap:Envelope>

 

 

 

 

Gracias.

 

Walter Cómito

 Analista de Sistemas

 MP 0397 C.P.C.I.P.C.

 

›   <mailto:[email protected]> [email protected]

          <mailto:[email protected]> [email protected]

 

'   +54 351 494.4667

           153.292.707

 

þ  <http://www.softram.com.ar/> www.softram.com.ar

 

Q  Si no es necesario, no imprima este correo.

Todos somos responsables por el cuidado del medio ambiente.

 

 

NOTA DE CONFIDENCIALIDAD 
Este mensaje (y sus anexos) es confidencial y puede contener información de
propiedad 
exclusiva de Walter Cómito (SRS Sistemas). Si usted ha recibido este mensaje
por error, 
por favor comuníquelo inmediatamente a  <mailto:[email protected]>
walter.comito@ <http://gmail.com/> gmail.com y tenga la amabilidad 
de eliminarlo; no deberá copiar el mensaje ni divulgar su contenido a
ninguna persona.

Muchas Gracias. 

 

 

  _____  


 <https://www.avast.com/antivirus> Avast logo

El software de antivirus Avast ha analizado este correo electrónico en busca
de virus. 
www.avast.com <https://www.avast.com/antivirus>  

 

Responder a