Tag em branco XMLDocument retorna erro
11/07/2021
0
Meu problema é o seguinte. Dentro da tag <dest> existe a tag <cpf> e nem sempre a tag cpf é preenchida por que não é obrigatório.
Quando eu tento ler a tag cpf e ela não esta preenchida me retorna o seguinte erro.
"Could not convert variant of type (Null) into type (OleStr)"
O código abaixo está dentro de um for... que identifica a quantidade de CFe dentro do XML... e vai percorrendo todos eles e faço a leitura do CPF desta forma.
node_cfe_dest := node_Lote_CFe.ChildNodes[i].ChildNodes.FindNode(''infCFe'').ChildNodes.FindNode(''dest''); CPF := node_cfe_dest.ChildValues[''CPF''];
Existe uma maneira de verificar se o campo está vazio ou não? Se a tag existe?
Paulo
Posts
11/07/2021
Elismar Serviço)
12/07/2021
Gxf
if node_cfe_dest.ChildValues['CPF'] <> EmptyStr then
CPF := node_cfe_dest.ChildValues[''CPF''];
12/07/2021
Paulo
if node_cfe_dest.ChildValues['CPF'] <> EmptyStr then
CPF := node_cfe_dest.ChildValues[''CPF''];
Não da pra usar assim pois o node não chega existir então ele da erro. Demorei p/ pensar nisso mas a solução encontrada foi.
if node_cfe_dest.ChildNodes.FindNode('CPF') <> nil then begin CPF := node_cfe_dest.ChildValues['CPF']; end;
ou então
if not (node_cfe_dest.ChildNodes.FindNode('CPF')) = nil then begin CPF := node_cfe_dest.ChildValues['CPF']; end;
Clique aqui para fazer login e interagir na Comunidade :)