LER LINHA XML

ANDPAG 29/07/2010 15:54:18
#348807
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...
DUHHH 29/07/2010 17:22:29
#348816
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
ANDPAG 29/07/2010 17:49:58
#348828
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>
MARCELO.TREZE 29/07/2010 19:33:51
#348845
PEDRONETO 29/07/2010 22:02:38
#348857
vc ainda nao conseguir pegar a tag infNFe ??? se não me avisa que te ajudo...
DUHHH 30/07/2010 08:25:00
#348868
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!
Tópico encerrado , respostas não são mais permitidas