begin vXMLDoc := TXMLDocument.Create(self); // le os dados do arquivo salvo vXMLDoc.LoadFromFile('c:\tempo\navcom\nfe\retConsLote_001c.xml'); // ou simplesmente pega a string retWS que contem o XML retorno // vXMLDoc.xml.Add(retWS); // vXMLDoc.active = true; // ou para ler o arquivo do recibo da NFe motivo := vXMLDoc.DocumentElement.ChildNodes['xMotivo'].text; NodePai := vXMLDoc.DocumentElement.ChildNodes.FindNode('protNFe'); // posiciona no primeiro item (o velho first); NodePai.ChildNodes.First; // repeat....until (como o velho while condicao) // repete enquanto encontrar dados de protocolo no arquivo. repeat NodeSec := NodePai.ChildNodes.FindNode('infProt'); chaveacesso := NodeSec.ChildNodes['chNFe'].text; protocolo := NodeSec.ChildNodes['nProt'].text; datahora := NodeSec.ChildNodes['dhRecbto'].text; motivo := NodeSec.ChildNodes['xMotivo'].text; // inserido aqui apenas para testar mostrando os dados no MEMO. //if protocolo '' then Memo4.Lines.Add( chaveacesso+'-> '+protocolo+' ---- '+datahora+' - '+motivo ); // esse seria o Next NodePai := NodePai.NextSibling; until NodePai = nil; end;
terça-feira, 28 de dezembro de 2010
Lendo o XML com o TXMLDocument
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário