Pregunta de extracción

Hola, mucho gusto, vera tengo desarrollando 3 meses en VFP, y me encargaron extraer datos de un txt le mando el ejemplo de un txt.
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
rfc='BBS090320MB9'
nombre='BSMX BUSINESS SYSTEM DE MEXICO, SA DE CV' >
<Domicilio
calle='SORIA'
noExterior='140'
noInterior='2'
colonia='ALAMOS'
localidad='MEXICO'
municipio='BENITO J'
estado='DISTRITO FEDERAL'
pais='MEXICO'
codigoPostal='03400'/>
</Receptor>
<Conceptos>
<Concepto
cantidad='45'
unidad='SERV'
descripcion='MANODE OBRA'
valorUnitario='56'
importe='2520'/>
</Conceptos>
<Impuestos totalImpuestosTrasladados='403'>
<Traslados>
<Traslado impuesto = "IVA" tasa='16' importe='403'/>
</Traslados>
</Impuestos>
</Comprobante>
Como vera es un xml en txt, yo lo ise txt porque me dijeron que así seria más fácil la extracción seria más fácil pero se me ase un poco complicado ya que no coonosco al fondo los comandos de visual foxpro mepodria ayudar a extraer los datos que solo estén entre las comillas simples ejemplo
descripcion='MANODE OBRA'
De esta linea solo debo extraer mano de obra
es`pero su respuesta gracias de antemano

1 Respuesta

Respuesta
1
Prueba con la función AT(carácter, cadena, ocurrecia)
Prueba esto para que lo entiendas
xtexto="cadena 'de' prueba"
Substr(xtexto, at("'", xtexto, 1)+1, at("'", xtexto, 2)-at("'", xtexto, 1)-1)
Esta función devuelve solo el texto que está entre las comillas simples, así, si tienes campos fijos que buscas en el archivo podrías buscar AT("Cantidad=", texto, 1) y te devolverá la posición del archivo de texto que coincide con "Cantidad=" y así podrás extraer el valor de le sigue.
Gracias, lo que medise si funciona pero, quisiera preguntar, ¿en la parte de conceptos del xml pueden ser varios consectos ogual funciona?, hice txt el xml y lo llevo a un solo campo, así que se iso una cadena, ¿puedo aplicar lo mismo al esa cades?
Claro que si, que bueno que te sirvió mi pana
Gracias, pero el substr y el at no ofunciono porque busca cantidad de caracteres, y lo que le mostré arriba los cammpos puede variar, tengo el proyecto espeor contactarlo pronto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas