Amigos, tenho um xml, com vários nodes... nodes com filhos e sem filhos, com
atributos e sem atributos.

Pois bem, estou usando o componente do delphi TXMLDocument...

Como faço para remover todos os nodes do meu xml, que:

- Nao tenha filhos,
- Nao tenha atributos
- e Nao tenha dados...


Estou quebrando a cabeça e nada.. tentei esse codigo mas nao me traz nada:

procedure TnfdNFeDataSets.DeleteEmptyNodes(ANode: IXMLNode);
var
  int_Node: Integer;
  obj_Node: IXMLNode;
  sText,sName:string;
begin
  for int_Node := 0 to ANode.ChildNodes.Count - 1 do
  begin
    obj_Node := ANode.ChildNodes.Nodes[int_Node];
     if obj_Node.IsTextElement then
       sText := obj_Node.Text;
     sName := obj_Node.NodeName;
     if (obj_Node.ChildNodes.Count = 0) and (obj_Node.AttributeNodes.Count =
0) and
       (obj_Node.Text <> '') then
      ANode.ChildNodes.Delete(int_Node)
     else
       DeleteEmptyNodes(obj_Node);
  end;
end;



Att.
Fellipe H.


-- 
_________________________________
T.·.F.·.A.·.
Fellipe Henrique
Blog: www.digitumsoft.com.br/blogs/fellipeh
-------------------------------------------------------------------------------
CAMPANHA POR UMA INTERNET SEGURA
Proteja o endereço de seus amigos como estou protegendo o seu. Ao enviar
mensagens use SEMPRE o "Cco" (cópia oculta).
Assim TODOS os endereços estarão preservados. E, claro, antes de encaminhar
um e-mail, delete todas as informações que apareçam no corpo do e-mail e que
possam ser usadas por hackers.
#######################################


[As partes desta mensagem que não continham texto foram removidas]

Responder a