Erro Nfe xmldocument

Delphi

28/07/2014

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
Felipe Rosa

Felipe Rosa

Curtidas 0

Respostas

Renato Rubinho

Renato Rubinho

28/07/2014

Buenas,

Experimente jogar na NodeTmp. O First devolve IXmlNode também. Talvez resolva.

NodeTmp := NodeSec.ChildNodes.First;


Abraççç,
Renato
GOSTEI 0
Douglas

Douglas

28/07/2014

Olá Felipe, depois de passar pelo 'LOADFROMFILE', você deverá que colocar o seguinte código abaixo:

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
POSTAR