Erro Nfe xmldocument
Boa tarde
porque da este erro no exemplo abaixo
quero ir direto para a tag det -> prod -> imposto
.LoadFromFile('c:\83025.xml');
NodePai := XMLDocument1.DocumentElement.ChildNodes.First.ChildNodes.FindNode('det');
NodeSec := NodePai;
qtd_item := 0;
NodeSec.ChildNodes.First; (*** aqui da o erro**) acces violation
while qtd_item = NodeSec.ChildNodes.Count do
NodeTmp := NodeSec.ChildNodes['prod'];
NodeTmp.NextSibling;
if NodeTmp.ChildNodes['xProd'].NodeValue <> Null then xProd := NodeTmp.ChildNodes['xProd'].NodeValue;
showmessage(xProd);
NodeSec := NodeSec.NextSibling;
end;
grato
Felipe
porque da este erro no exemplo abaixo
quero ir direto para a tag det -> prod -> imposto
.LoadFromFile('c:\83025.xml');
NodePai := XMLDocument1.DocumentElement.ChildNodes.First.ChildNodes.FindNode('det');
NodeSec := NodePai;
qtd_item := 0;
NodeSec.ChildNodes.First; (*** aqui da o erro**) acces violation
while qtd_item = NodeSec.ChildNodes.Count do
NodeTmp := NodeSec.ChildNodes['prod'];
NodeTmp.NextSibling;
if NodeTmp.ChildNodes['xProd'].NodeValue <> Null then xProd := NodeTmp.ChildNodes['xProd'].NodeValue;
showmessage(xProd);
NodeSec := NodeSec.NextSibling;
end;
grato
Felipe
Felipe Rosa
Curtidas 0
Respostas
Renato Rubinho
28/07/2014
Buenas,
Experimente jogar na NodeTmp. O First devolve IXmlNode também. Talvez resolva.
Abraççç,
Renato
Experimente jogar na NodeTmp. O First devolve IXmlNode também. Talvez resolva.
NodeTmp := NodeSec.ChildNodes.First;
Abraççç,
Renato
GOSTEI 0
Douglas
28/07/2014
Olá Felipe, depois de passar pelo 'LOADFROMFILE', você deverá que colocar o seguinte código abaixo:
Tente dessa forma. Aguardo o seu feedback um abraço.
xmlDocument1.LoadFromFile('c:\83025.xml');
xmlDocument1.Active := true;
NodePai := XMLDocument1.DocumentElement.First;
NodeSec := NodePai.ChildNodes['det'];
qtd_item := 0;
while qtd_item = NodeSec.ChildNodes.Count do
NodeTmp := NodeSec.ChildNodes['prod'];
NodeTmp.NextSibling;
if NodeTmp.ChildNodes['xProd'].NodeValue <> Null then xProd := NodeTmp.ChildNodes['xProd'].NodeValue;
showmessage(xProd);
NodeSec := NodeSec.NextSibling;
end;
Tente dessa forma. Aguardo o seu feedback um abraço.
GOSTEI 0