Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

João Henrique Almeida

C++: Apanhando para Ler um XML e transformar em TXT

Recommended Posts

Olá!

 

Gostaria de iniciar falando que tive C++ na faculdade, só que 1 semestre só e há 2 anos atrás!

Ou seja, além de aprender o basicão, esqueci algumas coisas que na marra agente vai pegando denovo...

 

Seguinte,

Necessito ler um arquivo XML de um Nota Fiscal Eletrônica e transformála em um arquivo TXT dividido por pipes, para que o programa aqui da empresa possa ler.

 

a estrutura exemplo do XML é a seguinte.

 

<?xml version="1.0" encoding="UTF-8" ?> 
- <nfeProc versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
- <NFe xmlns="http://www.portalfiscal.inf.br/nfe">
- <infNFe Id="NFe35110561098869000105550010000061611000042872" versao="2.00">
- <ide>
 <cUF>35</cUF> 
 <cNF>00004287</cNF> 
 <natOp>DEVOLUCAO DE VENDA</natOp> 
 <indPag>2</indPag> 
 <mod>55</mod> 
 <serie>1</serie> 
 <nNF>6161</nNF> 
 <dEmi>2011-05-20</dEmi> 
 <tpNF>0</tpNF> 
 <cMunFG>3508405</cMunFG> 
- <NFref>
 <refNFe>35110561098869000105550010000059851000041133</refNFe> 
 </NFref>
 <tpImp>1</tpImp> 
 <tpEmis>1</tpEmis> 
 <cDV>2</cDV> 
 <tpAmb>1</tpAmb> 
 <finNFe>1</finNFe> 
 <procEmi>3</procEmi> 
 <verProc>2.0.9</verProc> 
 </ide>
- <emit>
 <CNPJ>61098869000105</CNPJ> 
 <xNome>MIPAL INDUSTRIA DE EVAPORADORES LTDA</xNome> 
 <xFant>MIPAL</xFant> 
- <enderEmit>
 <xLgr>ROD DOM GABRIEL PAULINO BUENO COUTO</xLgr> 
 <nro>SN</nro> 
 <xCpl>KM 81,27</xCpl> 
 <xBairro>PINHAL</xBairro> 
 <cMun>3508405</cMun> 
 <xMun>CABREUVA</xMun> 
 <UF>SP</UF> 
 <CEP>13315000</CEP> 
 <cPais>1058</cPais> 
 <xPais>BRASIL</xPais> 
 <fone>1144090500</fone> 
 </enderEmit>
 <IE>233012603117</IE> 
 <IM>045022</IM> 
 <CNAE>2823200</CNAE> 
 <CRT>3</CRT> 
 </emit>
- <dest>
 <CNPJ>59101360000122</CNPJ> 
 <xNome>FRIOMAC IND COM REF LTDA ME - 00299</xNome> 
- <enderDest>
 <xLgr>R.JOAQUIM A.RIBEIRO DE SOUZA</xLgr> 
 <nro>912</nro> 
 <xBairro>SANTA FELICIA</xBairro> 
 <cMun>3548906</cMun> 
 <xMun>SAO CARLOS</xMun> 
 <UF>SP</UF> 
 <CEP>13563330</CEP> 
 <cPais>1058</cPais> 
 <xPais>BRASIL</xPais> 
 <fone>33726149</fone> 
 </enderDest>
 <IE>637069551115</IE> 
 </dest>
- <det nItem="1">
- <prod>
 <cProd>MMI078EH1</cProd> 
 <cEAN /> 
 <xProd>NOVO FORC MI078 C/DEG 230V 60HZ GR.PL G/ B 5MT</xProd> 
 <NCM>84189900</NCM> 
 <CFOP>1201</CFOP> 
 <uCom>PC</uCom> 
 <qCom>2.0000</qCom> 
 <vUnCom>1950.0000</vUnCom> 
 <vProd>3900.00</vProd> 
 <cEANTrib /> 
 <uTrib>PC</uTrib> 
 <qTrib>2.0000</qTrib> 
 <vUnTrib>1950.0000</vUnTrib> 
 <indTot>1</indTot> 
 <xPed>067734</xPed> 
 <nItemPed>01</nItemPed> 
 </prod>
- <imposto>
- <ICMS>
- <ICMS00>
 <orig>0</orig> 
 <CST>00</CST> 
 <modBC>3</modBC> 
 <vBC>3900.00</vBC> 
 <pICMS>12.00</pICMS> 
 <vICMS>468.00</vICMS> 
 </ICMS00>
 </ICMS>
- <IPI>
 <cEnq>999</cEnq> 
- <IPITrib>
 <CST>00</CST> 
 <vBC>3900.00</vBC> 
 <pIPI>5.00</pIPI> 
 <vIPI>195.00</vIPI> 
 </IPITrib>
 </IPI>
- <PIS>
- <PISAliq>
 <CST>01</CST> 
 <vBC>3900.00</vBC> 
 <pPIS>1.65</pPIS> 
 <vPIS>64.35</vPIS> 
 </PISAliq>
 </PIS>
- <COFINS>
- <COFINSAliq>
 <CST>01</CST> 
 <vBC>3900.00</vBC> 
 <pCOFINS>7.60</pCOFINS> 
 <vCOFINS>296.40</vCOFINS> 
 </COFINSAliq>
 </COFINS>
 </imposto>
 <infAdProd>S/PEDIDO: 093/11(MIRA) - N/PEDIDO: 067734/01</infAdProd> 
 </det>
- <total>
- <ICMSTot>
 <vBC>3900.00</vBC> 
 <vICMS>468.00</vICMS> 
 <vBCST>0.00</vBCST> 
 <vST>0.00</vST> 
 <vProd>3900.00</vProd> 
 <vFrete>0.00</vFrete> 
 <vSeg>0.00</vSeg> 
 <vDesc>0.00</vDesc> 
 <vII>0.00</vII> 
 <vIPI>195.00</vIPI> 
 <vPIS>64.35</vPIS> 
 <vCOFINS>296.40</vCOFINS> 
 <vOutro>0.00</vOutro> 
 <vNF>4095.00</vNF> 
 </ICMSTot>
 </total>
- <transp>
 <modFrete>1</modFrete> 
- <transporta>
 <CNPJ>51421832001518</CNPJ> 
 <xNome>EXPRESSO LIMEIRA V.LTDA</xNome> 
 <IE>116861010114</IE> 
 <xEnder>AV DR ASSIS RIBEIRO ,8864</xEnder> 
 <xMun>SAO PAULO</xMun> 
 <UF>SP</UF> 
 </transporta>
- <veicTransp>
 <placa>0</placa> 
 <UF>SP</UF> 
 </veicTransp>
- <vol>
 <qVol>2</qVol> 
 <esp>POLIESTER</esp> 
 <pesoL>87.000</pesoL> 
 <pesoB>104.000</pesoB> 
 </vol>
 </transp>
- <infAdic>
 <infCpl>End.Entrega: R.JOAQUIM A.RIBEIRO DE SOUZA , 912 -SANTA FELISAO CARLOS -SP-CNPJ:59101360000122-IE:637.069.551.115 REPR: 110 SAMG REPRESENTACOES COM. LTDA ALIQ IPI CONF ART 401 RIPI/98 ICMS 12% CFE ART 54 ITEM V DEC 45490 DE 30/11/2000 RETORNO REF NF 5985 DE 16/05/2011 - BOC 1070</infCpl> 
 </infAdic>
 </infNFe>
- <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
- <SignedInfo>
 <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /> 
 <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> 
- <Reference URI="#NFe35110561098869000105550010000061611000042872">
- <Transforms>
 <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> 
 <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /> 
 </Transforms>
 <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
 <DigestValue>mho5HfwLB5JWi3O7X7qQA1VHTAE=</DigestValue> 
 </Reference>
 </SignedInfo>
 <SignatureValue>ttWBj2Y0lalfQCXQaJJ8HpG8cEqNXtKkmJS04RKqwZ6AikBSVC2r1dAsgnbbxJ9LAQDi8rvkWoIG Pr6hc1JBIkdryQG3O16DG4XzKHSuO3yc+VTCYZ1Wpqi6vCXYkIBZMFiwjeF8zj8kMuCVrtIW220H aVTG4fuKYOf+5tfMEx8=</SignatureValue> 
- <KeyInfo>
- <X509Data>
 <X509Certificate>MIIGMjCCBRqgAwIBAgIISkKTjxSD/KMwDQYJKoZIhvcNAQEFBQAwTDELMAkGA1UEBhMCQlIxEzAR BgNVBAoTCklDUC1CcmFzaWwxKDAmBgNVBAMTH1NFUkFTQSBDZXJ0aWZpY2Fkb3JhIERpZ2l0YWwg djEwHhcNMTAwOTA5MTM0NjIxWhcNMTEwOTA5MTM0NjIxWjCB7zELMAkGA1UEBhMCQlIxEzARBgNV BAoTCklDUC1CcmFzaWwxFDASBgNVBAsTCyhFTSBCUkFOQ08pMRgwFgYDVQQLEw8wMDAwMDEwMDEz NzY3MzExFDASBgNVBAsTCyhFTSBCUkFOQ08pMRQwEgYDVQQLEwsoRU0gQlJBTkNPKTEUMBIGA1UE CxMLKEVNIEJSQU5DTykxFDASBgNVBAsTCyhFTSBCUkFOQ08pMRQwEgYDVQQLEwsoRU0gQlJBTkNP KTEtMCsGA1UEAxMkTUlQQUwgSU5EVVNUUklBIERFIEVWQVBPUkFET1JFUyBMVERBMIGfMA0GCSqG SIb3DQEBAQUAA4GNADCBiQKBgQDrdVb634VNObeW2WOr14UUZ+lHrgoljRA/OjDzVhlxirPWkwWM 9YHOhYih0/ag2v/9xjvKnE6/AiMZtkorFMFEtQv+rKxMsCrhBbu/LznerRhfakNIJ2Q0PY4+5gia yTstwzBu9vzTDHDPAcmBN6akl0yzWEz32c/HfeU53YCZ1wIDAQABo4IC9jCCAvIwDgYDVR0PAQH/ BAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAfBgNVHSMEGDAWgBS3YKhb+bKm rgDtdOvVSsmWaGb1XDCBuQYDVR0RBIGxMIGugRNGSVNDQUxATUlQQUwuQ09NLkJSoDgGBWBMAQME oC8TLTEyMDQxOTU0OTQ4NTAwMjA4NDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMKApBgVgTAED AqAgEx5BTlRPTklPIENMQVVESU8gTU9OVElBTkkgUEFMTUGgGQYFYEwBAwOgEBMONjEwOTg4Njkw MDAxMDWgFwYFYEwBAwegDhMMMDAwMDAwMDAwMDAwMFcGA1UdIARQME4wTAYGYEwBAgEGMEIwQAYI KwYBBQUHAgEWNGh0dHA6Ly93d3cuY2VydGlmaWNhZG9kaWdpdGFsLmNvbS5ici9yZXBvc2l0b3Jp by9kcGMwgfAGA1UdHwSB6DCB5TBJoEegRYZDaHR0cDovL3d3dy5jZXJ0aWZpY2Fkb2RpZ2l0YWwu Y29tLmJyL3JlcG9zaXRvcmlvL2xjci9zZXJhc2FjZHYxLmNybDBDoEGgP4Y9aHR0cDovL2xjci5j ZXJ0aWZpY2Fkb3MuY29tLmJyL3JlcG9zaXRvcmlvL2xjci9zZXJhc2FjZHYxLmNybDBToFGgT4ZN aHR0cDovL3JlcG9zaXRvcmlvLmljcGJyYXNpbC5nb3YuYnIvbGNyL1NlcmFzYS9yZXBvc2l0b3Jp by9sY3Ivc2VyYXNhY2R2MS5jcmwwgZcGCCsGAQUFBwEBBIGKMIGHMEcGCCsGAQUFBzAChjtodHRw Oi8vd3d3LmNlcnRpZmljYWRvZGlnaXRhbC5jb20uYnIvY2FkZWlhcy9zZXJhc2FjZHYxLnA3YjA8 BggrBgEFBQcwAYYwaHR0cDovL29jc3AuY2VydGlmaWNhZG9kaWdpdGFsLmNvbS5ici9zZXJhc2Fj ZHYxMA0GCSqGSIb3DQEBBQUAA4IBAQADViwGQk1S30FCe6c1qOqqCvLnBxWFEqqpq9V0VYt5suaI 3qcQ/YUoiDWKxkG2ilL7PgXjz5rExcSpblXoq/8ZMioJFUFgz/UlUXjcqj0YDZRpbzXdWeI5o0Fr bRBpuXymJZZ38Nj3VZeQmIGc2LQx1a8aV/w937lgozp3KzMeUXPl3PhVQZ6zt/i2zOXaqeWfWv4g IMAQ6LE49oaGYAf+4ivt6rcrOM6oNCxtVoP7PcOmLx7gAKYZ1e2N+/gYMddjl04HgAGyKPuXwHdY fcgU6w1paYwNs+TBjECKI555E+Z8/lIPRrlkP+agX32oR4u059UX3Myac5x4iR8usyYv</X509Certificate> 
 </X509Data>
 </KeyInfo>
 </Signature>
 </NFe>
- <protNFe versao="2.00">
- <infProt>
 <tpAmb>1</tpAmb> 
 <verAplic>SP_NFE_PL_006e</verAplic> 
 <chNFe>35110561098869000105550010000061611000042872</chNFe> 
 <dhRecbto>2011-05-20T12:25:54</dhRecbto> 
 <nProt>135110252681434</nProt> 
 <digVal>mho5HfwLB5JWi3O7X7qQA1VHTAE=</digVal> 
 <cStat>100</cStat> 
 <xMotivo>Autorizado o uso da NF-e</xMotivo> 
 </infProt>
 </protNFe>
 </nfeProc>

 

E o TXT tem que sair neste formato.

 

NOTAFISCAL|1
A|2.00|NFe35110561098869000105550010000061611000042872|
B|35|00004287|DEVOLUCAO DE VENDA|2|55|1|6161|2011-05-20|||0|3508405|1|1|2|1|1|3|2.0.9|||
B13|35110561098869000105550010000059851000041133|
C|MIPAL INDUSTRIA DE EVAPORADORES LTDA|MIPAL|233012603117||045022|2823200|3|
C02|61098869000105|
C05|ROD DOM GABRIEL PAULINO BUENO COUTO|SN|KM 81,27|PINHAL|3508405|CABREUVA|SP|13315000|1058|BRASIL|1144090500|
E|FRIOMAC IND COM REF LTDA ME - 00299|637069551115|||
E02|59101360000122|
E05|R.JOAQUIM A.RIBEIRO DE SOUZA|912||SANTA FELICIA|3548906|SAO CARLOS|SP|13563330|1058|BRASIL|33726149|
H|1|S/PEDIDO: 093/11(MIRA) - N/PEDIDO: 067734/01|
I|MMI078EH1||NOVO FORC MI078 C/DEG 230V 60HZ GR.PL G/ B 5MT|84189900||1201|PC|2.0000|1950.0000|3900.00||PC|2.0000|1950.0000|||||1|067734|01|
M|
N|
N02|0|00|3|3900.00|12.00|468.00|
O|||||999|
O07|00|195.00|
O10|3900.00|5.00|
Q|
Q02|01|3900.00|1.65|64.35|
S|
S02|01|3900.00|7.60|296.40|
W|
W02|3900.00|468.00|0.00|0.00|3900.00|0.00|0.00|0.00|0.00|195.00|64.35|296.40|0.00|4095.00|
X|1|
X03|EXPRESSO LIMEIRA V.LTDA|116861010114|AV DR ASSIS RIBEIRO ,8864|SP|SAO PAULO|
X04|51421832001518|
X18|0|SP||
X26|2|POLIESTER|||87.000|104.000|
Z||End.Entrega: R.JOAQUIM A.RIBEIRO DE SOUZA , 912 -SANTA FELISAO CARLOS -SP-CNPJ:59101360000122-IE:637.069.551.115      REPR: 110 SAMG REPRESENTACOES COM. LTDA                    ALIQ IPI CONF ART 401 RIPI/98                              ICMS 12% CFE ART 54 ITEM V DEC 45490 DE 30/11/2000         RETORNO REF NF 5985 DE 16/05/2011 - BOC 1070|

 

 

Desde já agradeço quem tentou ajudar!

Muito Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.