Ayuda con código

Vera intente extraer datos de un xml, con xmltocursor, pero descubrí que para hacerlo ay que hacer el xml con cursorxml, pero el xml que tengo no puede ser modificado, entonces se me ocurrió hacerlo txt, y entonces con un a pregunta que uested resolvió ise esta código.
Local cnControladorArch,nTamaño,cCadena
cnControladorArch = FOPEN("C:\XmlExtrae.txt")
nTamaño =  FSEEK(cnControladorArch, 0, 2)    && Lleva el puntero a EOF.
IF nTamaño <= 0
ELSE
  = FSEEK(cnControladorArch, 0, 0)     && Mueve el puntero a BOF.
cCadena = FREAD(cnControladorArch, nTamaño)
ENDIF
thisform.text2.Value = cnControladorArch
Como vera no cambie mucho solo la ruta del txt, pero me aparece que esta vacío el archivo
este esmi archivo txt
?xml version="1.0" encoding="UTF-8"?>
<Comprobante xmlns="http://www.sat.gob.mx/cfd/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd
http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd"
version='2.0'
serie='Q'
folio='000683'
fecha='2010-09-27T16:49:50'
sello='MSb6yeKVphf1IpxonaLBnH5CY1vczyxnkXVphFIEneiufFWLNXWy3y5n+Y0wvC+cIdSeM1z5CLH/VQzqViJKEPSoM7F6c1l/YLCDEmQ+yY5gG+EGDJ0eJyxUHt3GTEu1EUC5HHe1k1lyk4M3Knl/ModvtLqDDej8HOEoy9rK+tY='
noAprobacion='1'
anoAprobacion='2009'
tipoDeComprobante='ingreso'
formaDePago='Efectivo'
condicionesDePago='Una Sola Exibicion'
subTotal='2520'
descuento='0'
total='2923'
noCertificado='10001200000000022517'
certificado='
MIIDhDCCAmygAwIBAgIUMTAwMDEyMDAwMDAwMDAwMjI1MTcwDQYJKoZIhvcNAQEF
BQAwgcMxGTAXBgNVBAcTEENpdWRhZCBkZSBNZXhpY28xFTATBgNVBAgTDE1leGlj
bywgRC5GLjELMAkGA1UEBhMCTVgxGjAYBgNVBAMTEUFDIGRlIFBydWViYXMgU0FU
MTYwNAYDVQQLFC1BZG1pbmlzdHJhY2nzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5m
b3JtYWNp824xLjAsBgNVBAoUJVNlcnZpY2lvIGRlIEFkbWluaXN0cmFjafNuIFRy
aWJ1dGFyaWEwHhcNMDgwODIxMTUyMjA4WhcNMTAwODIxMTUyMjA4WjCBmDElMCMG
A1UELRMcQUFBMDEwMTAxQUFBIC8gQUFBQTAxMDEwMUFBQTEeMBwGA1UEBRMVIC8g
QUFBQTAxMDEwMUhERlJYWDAxMRIwEAYDVQQKEwlNYXRyaXogU0ExEzARBgNVBAsT
ClVuaWRhZCAxMCAxEjAQBgNVBAMTCU1hdHJpeiBTQTESMBAGA1UEKRMJTWF0cml6
IFNBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDpmiW1q9gyzCFtMcbaFDJe
xk2IpLoTdNXg4ToGRZ/f+hIjmj3N6ODWX1ARNFGYocEHf113GpW5Oe/mj6UqhBpi
H4JRTNR4Udb8myJTArIlODynVHuIUuyhKo7gbMbDdXjilTAYY2XWQuQ7aDtWwntU
mNg4vAC/F3OtRz3+y9wM5QIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQE
AwIGwDANBgkqhkiG9w0BAQUFAAOCAQEAafyD4gMsOvq7E3raPntmQlJTxpWwNySq
skE7fe23HVL9UKFCUlWWx/W8gluxIX9S19y17iWnGbtmbNddHxG5PznPsy/a8Plw
NHjDW0FOpia2LsvDrNcdPiJhzL/1OVagkenffFf8bLEetF3ktxZ7ifcH1yxVxpZ7
PS/pe8YIOpWRuMmTV4ypGdsw9TW3HVP5IJ/canuQGPTb3LQ8ojihW2dHnC6ojaWW
4GHFSZAPhQJ/DaH/UgFjaQke/RBtoAketfROdG+1qYeA1q/is04O4AXNmMByGp7Z
nvGNrO9LDBvs3eKN4ZYcQyjxFEbr1X/xUqHCRF1VEkkC5jJQ1ktC4g==
'>
<Emisor
rfc='ISP900909Q88'
nombre='Industrias del Sur Poniente, S.A. De C.V.'>
<DomicilioFiscal
calle='Alvaro Obregon'
noExterior='37'
noInterior='3'
colonia='Col. Roma Norte'
localidad='Mexico'
municipio='Cuauhtemoc'
estado='Distrito Federal'
pais='Mexico'
codigoPostal='06700'/>
<ExpedidoEn
calle='JUAN DE DIOS PEZA'
noExterior='80'
solo quiero extraler los archivos que esten entre la scomillas simples ejemplo
<ExpedidoEn
calle='JUAN DE DIOS PEZA'
noExterior='80'
Juan de dios peza
80
Y llevar el resultado a un texbox, si me pudiera ayudar o dar un empujoncito para terminar esto selo agradecería mucho.

1 respuesta

Respuesta
1
Lo que yo te recomendaría es guardar los datos en un cursor o tabla temporal, o una tabla en disco para facilitar la extracción de datos y además lo que hiciste arriba es incorrecto se debe hacer así:
Local cnControladorArch, nTamaño, cCadena
cnControladorArch = FOPEN("C:\XmlExtrae.txt")
nTamaño =  FSEEK(cnControladorArch, 0, 2)    && Lleva el puntero a EOF.
If nTamaño <= 0 Then
  Else
    = FSEEK(cnControladorArch, 0, 0)     && Mueve el puntero a BOF.
    cCadena = FREAD(cnControladorArch, nTamaño)
Endif
CCadena es el valor que vas a utilizar y no cnControladorArch, ahora con una cláusula For ... EndFor o Do While EndDo aquí te facilito la parte más difícil, la de extraer datos:
Local Micadena, lcPosCar, lcCadena
Micadena = "localidad='Mexico'"
LcPosCar = At("'", Micadena) && teniendo en cuenta que el caracter ' es donde comienza la cadena que se desea extraer que devolverá 11, debes crear una rutina para extraer cadenas por ejemplo a partir de una determinada posición de caracteres.
lcCadena = StrTran(Substr(Micadena, lcPosCar), "'", "")
Lo anterior devuelve la cadena Mexico
Ya te resolví la parte más difícil, solo te queda resolver la parte más fácil.
Ok, lo haré solo que dejare abierta la pregunta ya que solo yebo 3 meses desarrollando en visual foxpro, así que me cuesta un poco de trabajo gracias
No puedes dejar abierta la pregunta, ciérrala ya que si no lo haces todoexpertos te descarta la pregunta, y esto es causal para que todoexpertos te suspenda temporal o definitivamente tu cuenta cuando la pregunta lleva bastante tiempo abierta, finaliza la pregunta y si necesitas ayuda puedes volver a preguntar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas