LER LINHA XML
Pessoal boa tarde,,, estou com uma duvida aqui, ja vi varios exemplos na net e ate aqui no forum, mas nenhum me serviu ou eu que nao estou sabendo usar,,, bem eu precisava ler uma linha dentro de um arquivo xml,, para ser mais exato precisava ler a linha que contem o nro da chave da nfe,,, essa linha fica dentro da tag <infNFe>,,, entao é isso... precisava apenas pegar essa linha de dentro do arquivo xml da nfe e carregar o nro de chave que esta dentro dela,,, alguem poderia me dar uma luz?
valeu! abs...
valeu! abs...
Aqui vou fazer algo
Private Function VerificaItem(ByVal sTagPaiIni As String, ByVal sTagPaiFim As String, ByVal strResp As String) As String
Dim lPos1 As Long, lPos2 As Long, lPos3 As Long, lPos4 As Long
VerificaItem = [Ô][Ô]
[ô]verificando valor do cStat resultante do web service a partir do final do código XML
lPos1 = InStrRev(strResp, sTagPaiIni) + Len(sTagPaiIni)
lPos2 = InStrRev(strResp, sTagPaiFim)
If lPos1 > Len(sTagPaiIni) And lPos2 > lPos1 Then
strResp = Mid(strResp, lPos1, lPos2 - lPos1)
VerificaItem = strResp
Exit Function
End If
lPos1 = InStrRev(strResp, sTagPaiIni) + Len(sTagPaiIni)
lPos2 = InStrRev(strResp, [Ô]</det>[Ô])
If lPos1 > Len(sTagPaiIni) And lPos2 > lPos1 Then
strResp = Mid(strResp, lPos1, lPos2 - lPos1)
VerificaItem = strResp
Exit Function
End If
End Function
Private Function VerificaItem(ByVal sTagPaiIni As String, ByVal sTagPaiFim As String, ByVal strResp As String) As String
Dim lPos1 As Long, lPos2 As Long, lPos3 As Long, lPos4 As Long
VerificaItem = [Ô][Ô]
[ô]verificando valor do cStat resultante do web service a partir do final do código XML
lPos1 = InStrRev(strResp, sTagPaiIni) + Len(sTagPaiIni)
lPos2 = InStrRev(strResp, sTagPaiFim)
If lPos1 > Len(sTagPaiIni) And lPos2 > lPos1 Then
strResp = Mid(strResp, lPos1, lPos2 - lPos1)
VerificaItem = strResp
Exit Function
End If
lPos1 = InStrRev(strResp, sTagPaiIni) + Len(sTagPaiIni)
lPos2 = InStrRev(strResp, [Ô]</det>[Ô])
If lPos1 > Len(sTagPaiIni) And lPos2 > lPos1 Then
strResp = Mid(strResp, lPos1, lPos2 - lPos1)
VerificaItem = strResp
Exit Function
End If
End Function
opa blz, DUHH esse equema que vc me enviou é para pegar direto do webservice, no meu caso eu tenho os arquivos.xml gerados na minha maquina, eles estao local,, entao eu tinha que pegar ele aqui no meu c: e depois pegar o valor que esta dentro da tag <infNFe>... aqui vai parte do xml que eu quero ler,,, abaixo da pra ver a tag que eu quero é a -<infNFe> preciso do valor desse valor que esta dentro dela : Id=[Ô]NFe35100710353009000130550010000000746002439009[Ô]
<?xml version=[Ô]1.0[Ô] encoding=[Ô]UTF-8[Ô] ?>
- <nfeProc versao=[Ô]1.10[Ô] xmlns=[Ô]http://www.portalfiscal.inf.br/nfe[Ô]>
- <NFe xmlns=[Ô]http://www.portalfiscal.inf.br/nfe[Ô]>
- <infNFe xmlns:xsi=[Ô]http://www.w3.org/2001/XMLSchema-instance[Ô] Id=[Ô]NFe35100710353009000130550010000000746002439009[Ô] versao=[Ô]1.10[Ô]>
- <ide>
<cUF>35</cUF>
<cNF>600243900</cNF>
<natOp>VENDA DENTRO ESTADO</natOp>
<indPag>1</indPag>
<mod>55</mod>
<serie>1</serie>
<nNF>74</nNF>
<dEmi>2010-07-27</dEmi>
<dSaiEnt>2010-07-27</dSaiEnt>
<tpNF>1</tpNF>
<cMunFG>3530300</cMunFG>
<tpImp>1</tpImp>
<tpEmis>1</tpEmis>
<cDV>9</cDV>
<tpAmb>1</tpAmb>
<finNFe>1</finNFe>
<procEmi>3</procEmi>
<verProc>1.4.2</verProc>
</ide>
- <emit>
<?xml version=[Ô]1.0[Ô] encoding=[Ô]UTF-8[Ô] ?>
- <nfeProc versao=[Ô]1.10[Ô] xmlns=[Ô]http://www.portalfiscal.inf.br/nfe[Ô]>
- <NFe xmlns=[Ô]http://www.portalfiscal.inf.br/nfe[Ô]>
- <infNFe xmlns:xsi=[Ô]http://www.w3.org/2001/XMLSchema-instance[Ô] Id=[Ô]NFe35100710353009000130550010000000746002439009[Ô] versao=[Ô]1.10[Ô]>
- <ide>
<cUF>35</cUF>
<cNF>600243900</cNF>
<natOp>VENDA DENTRO ESTADO</natOp>
<indPag>1</indPag>
<mod>55</mod>
<serie>1</serie>
<nNF>74</nNF>
<dEmi>2010-07-27</dEmi>
<dSaiEnt>2010-07-27</dSaiEnt>
<tpNF>1</tpNF>
<cMunFG>3530300</cMunFG>
<tpImp>1</tpImp>
<tpEmis>1</tpEmis>
<cDV>9</cDV>
<tpAmb>1</tpAmb>
<finNFe>1</finNFe>
<procEmi>3</procEmi>
<verProc>1.4.2</verProc>
</ide>
- <emit>
veja este link
http://www.macoratti.net/xml_vb.htm
http://www.macoratti.net/xml_vb.htm
vc ainda nao conseguir pegar a tag infNFe ??? se não me avisa que te ajudo...
A varialvel strResp você vai passar o arquivo xml em string nesta função eu só pego o que ta dentro da tag.
Vou te mandar como eu abro o arquivo xml:
Dim docNFe As New DOMDocument60
docNFe.Load [Ô]C:\odeionfe.xml[Ô]
ai se vai fazer assim:
txt.text = VerificaItem(<infNFe>, </infNFe>, docNFe.xml)
pronto ele vai pegar tudo que esta dentro desta tag.
Abçs!
Vou te mandar como eu abro o arquivo xml:
Dim docNFe As New DOMDocument60
docNFe.Load [Ô]C:\odeionfe.xml[Ô]
ai se vai fazer assim:
txt.text = VerificaItem(<infNFe>, </infNFe>, docNFe.xml)
pronto ele vai pegar tudo que esta dentro desta tag.
Abçs!
Tópico encerrado , respostas não são mais permitidas