Capturar a tag chNFe do xml

25/07/2018

6

Boa noite

Estou lendo o xml da nfe e estou conseguindo pegar as informações que necessito, porém agora surgiu a necessidade de pegar outros valores
e não estou conseguindo.

Seria o seguinte:
Do código abaixo, preciso pegar o conteúdo da id

-<infNFe versao="3.10" Id="NFe35180569012656000120550010000126521114102842">
-<ide>
<cUF>35</cUF>
<cNF>11410284</cNF>

E desse outro código preciso pegar as tags, verAplic, chNFe e nProt.


</Signature>
</NFe>
-<protNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.10">
-<infProt xmlns="http://www.portalfiscal.inf.br/nfe">
<tpAmb>1</tpAmb>
<verAplic>SP_NFE_PL_008i2</verAplic>
<chNFe>35180569012656000120550010000126521114102842</chNFe>
<dhRecbto>2018-05-31T14:18:34-03:00</dhRecbto>
<nProt>135180362965223</nProt>
<digVal>kx/dfksj1jycogsn3MdNIS/OhwY=</digVal>
<cStat>100</cStat>
<xMotivo>Autorizado o uso da NF-e</xMotivo>
</infProt>
</protNFe>
</nfeProc>

Alguém teria uma luz

Obs, preciso fazer isso utilizando o txmlDocument


Desde ja agradeço
Responder

Post mais votado

25/07/2018

Consegui resolver.
Pra quem precisar, segue abaixo

NodePai := vXMLDoc.DocumentElement.ChildNodes.FindNode('protNFe');
if NodePai <> nil then
begin
NodeSec := NodePai.ChildNodes.FindNode('infProt');
NodeSec.ChildNodes.First;
chaveacesso := NodeSec.ChildNodes['chNFe'].text;
protocolo := NodeSec.ChildNodes['nProt'].text;
datahora := NodeSec.ChildNodes['dhRecbto'].text;
motivo := NodeSec.ChildNodes['xMotivo'].text;
end;
Responder

Mais Posts

26/07/2018

João Filho

Olá Osvaldo bom dia,

Osvaldo já tive alguns problemas com XMLDocument, problemas de incompatibilidade com versão do windows, com isso desenvolvi alguns métodos onde não preciso utilizar o mesmo para capturar nodes e tags, caso tenha interese em dar uma olhada segue link do exemplo que está no gitHub:
https://github.com/eduardofaneli2/GetNode-XML




Atenciosamente,
Responder

26/07/2018

Osvaldo Anjo

Oi João bom dia

Muito obrigado por seu retorno.

Vou olhar sim.

Obrigado
Responder