importar xml e localizar tag

Delphi

XML

21/08/2024

Como eu posso testar se uma tag (nó) existe em um arquivo xml usando o componente TXMLDocument? Quando tento importar um arquivo e a tag não existe da ACCESS VIOLATION.
Joao Silva

Joao Silva

Curtidas 0

Respostas

Natanael Ferreira

Natanael Ferreira

21/08/2024

Utilize "FindNode" para testar se o Nó existe.

Veja um exemplo:

Var
  XMLDocument: IXMLDocument;
  XMLNode: IXMLNode;
begin
  XMLDocument := TXMLDocument.Create(nil);

  XMLDocument.LoadFromFile('C:\\Teste\\Teste.XML');

  XMLNode := XMLDocument.childNodes.FindNode('EnviarLoteRpsEnvio'); 

  if XMLNode <> nil then
    ShowMessage('Nó existe')
  else
    ShowMessage('Nó não existe');
end;
GOSTEI 0
Joao Silva

Joao Silva

21/08/2024

Da erro: ACCESS VIOLATION
GOSTEI 0
Paulo

Paulo

21/08/2024

Da erro: ACCESS VIOLATION


if XMLDocument.ChildNodes.FindNode('CFeCanc') <> nil then begin


Eu faço assim, adapte o código para suas necessidades. Este exemplo verifica se, em um arquivo XML do tipo mod59, existe a tag <CFeCanc>, ou seja, verifica se o arquivo XML corresponde a um cupom fiscal cancelado
GOSTEI 0
POSTAR