Extraer a txt

Hola, una pregunta, aparti de loo que me dijo de como enviar un txt ala base de datos, pero tengo que llevar esa información a txtbox del formulario me podrías decir una manera de como estraes datos mire mi txt en la base que da así
<?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'
noInterior='301'
colonia='OBRERA'
localidad='MEXICO'
municipio='CUAUHTEMOC'
estado='DISTRITO FEDERAL'
pais='MEXICO'
codigoPostal='03800'/>
</Emisor>
<Receptor
Pero solo quiero los datos que estén entre las comillas simplesme dijeron que con SubStr() y AT() pero tengo no se siento que seri mucho embrollo gracias de antemano

1 respuesta

Respuesta
1
Hazme un favor solo escríbeme el texto que tu necesitas sacar de allí...
2.0
Q
000683
2010-09-27T16:49:50
MSb6yeKVphf1IpxonaLBnH5CY1vczyxnkXVphFIEneiufFWLNXWy3y5n+Y0wvC+cIdSeM1z5CLH/VQzqViJKEPSoM7F6c1l/YLCDEmQ+yY5gG+EGDJ0eJyxUHt3GTEu1EUC5HHe1k1lyk4M3Knl/ModvtLqDDej8HOEoy9rK+tY=
1
2009
Ingreso
Efectivo
Una Sola Exibicion
2520
0
2923
10001200000000022517
ISP900909Q88
Industrias del Sur Poniente, S.A. de C.V.
Alvaro Obregon
37
3
Col. Roma Norte
Mexico
Cuauhtemoc
Distrito Federal
Mexico
06700
Juan de dios
80
301
Obrera
Mexico
Cuahttemoc
Distrito federal
Mexico
03800
BBS090320MB9
BSMX business system mexico
Soria
140
2
Alamos
Mexico
Benito j
Distrito federal
Mexico
03400
45
SERV
Mano de eobra
56
2520
403
Iva
16
403
Ya te mande Otro Ejemplo...
Disculpe pero creo que me mando uno de como hacer un ejecutable,
Descomprime el archivo y Ejecuta el Project...
Gracias, si funciona, tenia razón si pongo otro archivo con más lineas me marca que el archivo no existe, y disculpe me equivoque de archivo, gracias pero una pregunta más ¿se puede ampliar la cantidad de lineas?
Si Podrías Pero Tendrías Que Saber Que lineas Agregaras en La BDF...
Porque con el código que te mande anteriormente extrae todas las lineas del archivo de texto Independientemente de cuantas tenga; Pero solo te muestra las que cumplen con las condiciones estipuladas...
Hola buen día, vera acerca, puedo recibir un archivo así de largo, bueno no tan largo pero tiene ciertas características
<?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" xmlns:otro="http://www.walmartmexico.com.mx" xsi:schemaLocation="http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd http://www.walmartmexico.com.mx http://www.walmartmexico.com.mx/AddendaKioscos.xsd" version="2.0" serie="CABT" folio="169686" fecha="2010-07-13T16:21:31" sello="0ubSwCFNKpJl2qJ7En0IpNcJSPHSz+Sp/SAB30TDDkfkykndJyWtroroWkj1I9zrPmpxgFMkScB6KTZtg1Z8DiuHYni/6PXNOlflCF6B0wk7esV5iRWQ5tA8OmRC/ymtTaXtC+r0Ifp76VnG376iUxqTEGr4h8vPm3KWi5yCwwg=" noAprobacion="21340" anoAprobacion="2009" formaDePago="PAGO EN UNA SOLA EXHIBICION" noCertificado="00001000000100623266" condicionesDePago="Inmediato" subTotal="358.05" descuento="0.00" total="415.34" metodoDePago="CREDITO" tipoDeComprobante="ingreso">  <Emisor rfc="NWM9709244W4" nombre="Nueva Wal Mart de México, S. de R. L. de C.V.  ">    <DomicilioFiscal calle="NEXTENGO" noExterior="78" localidad="SANTA CRUZ ACAYUCAN" municipio="AZCAPOTZALCO" estado="DISTRITO FEDERAL" pais="MÉXICO" codigoPostal="02770" />    <ExpedidoEn calle="AV EJERCITO NACIONAL" noExterior="559" localidad="GRANADA" referencia="LAGO BANQUEOLO Y LAGO TANGAÑICA" municipio="MIGUEL HIDALGO" estado="DISTRITO FEDERAL" pais="MÉXICO" codigoPostal="11520" />  </Emisor>  <Receptor rfc="BBS090320MB9" nombre="BSMX BUSINESS SYSTEM DE MEXICO, S.A. DE C.V.">    <Domicilio calle="SORIA" noExterior="140" noInterior="BAJOS 2" colonia="ALAMOS" localidad="D.F." referencia="ISABEL LA CATOLICA Y ASTURIAS" municipio="BENITO JUAREZ" estado="D.F." pais="MEXICO" codigoPostal="03400" />  </Receptor>  <Conceptos>    <Concepto cantidad="1.00" unidad="PIEZAS" noIdentificacion="8249413349" descripcion="BOTE DE BASURA 32GAL" valorUnitario="235.46" importe="235.46">          </Concepto>    <Concepto cantidad="1.00" unidad="PIEZAS" noIdentificacion="750143468030" descripcion="4 PZ.CESTO PLASTICO" valorUnitario="122.59" importe="122.59">            <Parte cantidad="0.00" descripcion="TICKET No: 606799930979556384248" />    </Concepto>  </Conceptos>  <Impuestos totalImpuestosTrasladados="57.29">        <Traslados>      <Traslado impuesto="IVA" tasa="16.00" importe="57.29" />    </Traslados>  </Impuestos>  <Addenda><otro:InformacionAdicionalPuntoDeVenta /></Addenda></Comprobante>
Los datos que me interesan son
version
Serie
Folio
Fecha
Sello
noAprobacion
anoAprobacion
tipoDeComprobante
formaDePago
condicionesDePago
subTotal
Descuento
Total
noCertificado
<aqui son los datos del  Emisor no cambian mucho
rfc
nombre
DomicilioFiscal
Calle
noExterior
noInterior
Colonia
Localidad
Municipio
Estado
País
codigoPostal
Receptor rfc="BBS090320MB9"
Nombre
Domicilio calle
noExterior
noInterior
Colonia
Localidad
Referencia
Municipio
Estado
País
codigoPostal
Concepto cantidad
Unidad
noIdentificacion
Descripción
valorUnitario
Importe
Parte cantidad
descripcion="TICKET No: 606799930979556384248" /> 
  <Impuestos totalImpuestosTrasladados="57.29">     impuesto="IVA" tasa="16.00" importe="57.29" />    </Traslados>  </Impuestos> 
En la parte de elo concepto puede se más de 1, y para complicarme puede ser comillas dobles "" o sencillas ', esta información me la acaban de pasar le agradecería si me pudiera ayudar.
¿Gracias por su ayuda lo de arriba y lo rresolvi peor le puedo mandar mi proyecto parra que me revis e unos detalles?
Bueno Envialo... Y disculpa por no ayudarte con lo de arriba... Pero me alegra que lo hayas resuelto eso demuestra que el que persevera lacanza... Si tu quieres envialo...
Creo que te faltaron Unos Form's... Pero lo que pude Ver esta muy Completo... Te felicito y sigue Adelante... Que Dios Te Bendiga...
Y a le e nviado mi proyecto, lo que quiero hacer es llevar los datos del list a los texbox así como di nombre domicilio etc, pero ay 1 detalle el campo nombre se repite 2 veces en el emiso y resector si ve el xml ai viene y estado batallando con eso, y también el la parte del concepto puede aver más 1 de uno, quisiera saber como aserle en esta parte, gracias por su tiempo
El Problemas es que No me mandaste todos los archivos del Proyecto y como comprenderás AL ejecutarlo Muestra Errore como que ciertas tablas no se encuentran o que hay form's que faltan... Me gustaría que me enviaras El Proyecto con todos los archivos...
Ya le envíe el proyecto compl, eto pero delas creo que e spor las direcciones que tengo debería revisasr esas parte, todo lo ase un botón
Hola el codigo que usted me envio s epuede adactar qeu busqeu una palabra, ejemplo lo que pasa esque tengo esto
<Conceptos>
<Concepto
cantidad='45'
unidad='SERV'
descripcion='MANODE OBRA'
valorUnitario='56'
importe='2520'/>
</Conceptos>
Y quiero que fox busque <Conceptos> y </Conceptos> y queirque me odtenga solo lo qeuy esta entre esas 2 etiquetas y que de algo así
cantidad='45'
unidad='SERV'
descripcion='MANODE OBRA'
valorUnitario='56'
importe='2520'
Y como el código pasa por todo el txt pensé que se puede hacer que busque la palabra y que de ai empeses a buscar.
SET MEMOWIDTH TO 9999
L=FILETOSTR('Concepto.txt')&& Este es el archivo que guarda los datos contenidos entre '<Conceptos>' y '</Conceptos>'
A1=0&&variable que guarda la linea de donde se encuentra ubicado '<Conceptos>'
A2=0&&variable que guarda la linea de donde se encuentra ubicado '</Conceptos>'
FOR a=1 TO  MEMLINES(L)
cCadena=MLINE(L,A)
IF ALLTRIM(Ccadena)='<Conceptos>'
A1=A+1
ENDIF
IF ALLTRIM(Ccadena)='</Conceptos>'
A2=A-1
ENDIF
IF A1>0 .AND. A2>0
FOR P=1 TO (A2+1)-A1
cCadena=MLINE(l,(A1-1)+P)
THISFORM.List1.AddItem(CHRTRAN(cCadena,'/>',''))
ENDFOR
RETURN
ENDIF
ENDFOR
******************************
*Tienes que tener una listbox con el Nombre List1 para que los datos se muestren alli
*Ha una cosa mas no importa cuantos datos hayan entre '<Conceptos>' y '</Conceptos>'
*todos se extraeran y se mostraran en el ListBox...
MUCHAS GRACIAS, si me sirvió, una pregunta más le agrge un código para borrar el "<conceta" que esta dentro de los otrso 2 pero no me lo queita 
L=FILETOSTR('titulo.txt')&& Este es el archivo que guarda los datos contenidos entre '<Conceptos>' y '</Conceptos>'
A1=0&&variable que guarda la linea de donde se encuentra ubicado '<Conceptos>'
A2=0&&variable que guarda la linea de donde se encuentra ubicado '</Conceptos>'
A3=0
*A4=0
FOR a=1 TO  MEMLINES(L)
cCadena=MLINE(L,A)
IF ALLTRIM(Ccadena)='<Conceptos>'
A1=A+1
ENDIF
IF ALLTRIM(Ccadena)='<Conceptos'
A3=A-1
ENDIF
IF A1>0 .AND. A3>0
FOR P0=1 TO (A3-1)-A1
cCadena=MLINE(l,(A1-1)+P0)
ENDFOR
ENDIF  
IF ALLTRIM(Ccadena)='</Conceptos>'
A2=A-1
ENDIF
IF A1>0 .AND. A2>0  
FOR P=1 TO (A2+1)-A1
cCadena=MLINE(l,(A1-1)+P)
THISFORM.List2. AddItem(CHRTRAN(cCadena,'/>',''))
Endfor
RETURN
Endif
Endfor
Se lo dejo par awuem emlo cheque
L=FILETOSTR('titulo.txt')&& Este es el archivo que guarda los datos contenidos entre '<Conceptos>' y '</Conceptos>'
A1=0&&variable que guarda la linea de donde se encuentra ubicado '<Conceptos>'
A2=0&&variable que guarda la linea de donde se encuentra ubicado '</Conceptos>'
A3=0
*A4=0
FOR a=1 TO MEMLINES(L)
cCadena=MLINE(L,A)
IF ALLTRIM(Ccadena)='<Conceptos>'
A1=A+1
ENDIF
IF ALLTRIM(Ccadena)='<Conceptos'
A3=A-1
ENDIF
IF A1>0 .AND. A3>0
FOR P0=1 TO (A3-1)-A1
cCadena=MLINE(l,(A1-1)+P0)
ENDFOR
ENDIF
IF ALLTRIM(Ccadena)='</Conceptos>'
A2=A-1
ENDIF
IF A1>0 .AND. A2>0
FOR P=1 TO (A2+1)-A1
cCadena=MLINE(l,(A1-1)+P)
cCadena=CHRTRAN(cCadena,'<Concepto','')
IF NOT EMPTY(cCADENA)
THISFORM. List2. AddItem(CHRTRAN(cCadena,'/>',''))
Endif
Endfor
RETURN
Endif
Endfor

Añade tu respuesta

Haz clic para o