Re: [delphi-br] Como encontrar um Node em um XMLDocument e incluir um ChildNode, independente onde o Node esteja?

2008-12-22 Por tôpico Guionardo Furlan
Uses XMLIntf;

function FindNode(nome: string; Root: IXMLNode): IXMLNode;
var
  i: Integer;
begin
  Result := nil;
  i := 0;
  while (i < Root.ChildNodes.Count) and (Result = nil) do
if SameText(Root.ChildNodes.Nodes[i].NodeName, nome) then
  Result := Root.ChildNodes.Nodes[i]
else
begin
  Result := FindNode(nome, Root.ChildNodes.Nodes[i]);
  Inc(i);
end;
end;

Com esta function vc tem o IXMLNode que procura ou nil, se ele não
existir. A primeira chamada Root deve fazer referência à propriedade
DocumentElement do IXMLDocument que vc estiver usando .

Tendo o node, é só chamar o método AddChild dele para adicionar o que vc quiser.
Na hora de codificar, não ficou exatamente como o algoritmo que citei
antes. Mas deve funcionar.

2008/12/22 Fellipe Henrique :
> Olá Guionardo, poderia exemplificar? Tentei fazer porém não consegui pegar
> os sub-nodes
>
> Att
> Fellipe H.
>
> 2008/12/20 Guionardo Furlan 
>
>> Começando com o root
>>
>> 1.Verificar se o nome do node atual é o que vc está procurando.
>> 2. Se for sim, retorna o node e encerra.
>> 3. Se não, verifica se existem subnodes.
>> 4. Se não, retorna nil e encerra.
>> 5. Se sim, faz um loop percorrendo todos os subnodes e, usando
>> recursividade, chama o procedimento para cada subnode.
>>
>> Mais ou menos isso.
>>
>> 2008/12/19 Fellipe Henrique >:
>>
>> > Amigos, preciso vasculhar um XML inteiro e achar um Node, e ao achar
>> > adicionar um ChildNode nele, como faço isso? Sendo que o Node pode estar
>> em
>> > qualquer lugar na estrutura do XML?
>> >
>> > Obrigado


-- 
Timeo hominem unius libri
Cogito ergo sum - Carpe diem

[]s
Guionardo Furlan
http://guionardo.blogspot.com


Re: [delphi-br] Como encontrar um Node em um XMLDocument e incluir um ChildNode, independente onde o Node esteja?

2008-12-22 Por tôpico Fellipe Henrique
Olá Guionardo, poderia exemplificar? Tentei fazer porém não consegui pegar
os sub-nodes

Att
Fellipe H.

2008/12/20 Guionardo Furlan 

>   Começando com o root
>
> 1.Verificar se o nome do node atual é o que vc está procurando.
> 2. Se for sim, retorna o node e encerra.
> 3. Se não, verifica se existem subnodes.
> 4. Se não, retorna nil e encerra.
> 5. Se sim, faz um loop percorrendo todos os subnodes e, usando
> recursividade, chama o procedimento para cada subnode.
>
> Mais ou menos isso.
>
> 2008/12/19 Fellipe Henrique >:
>
> > Amigos, preciso vasculhar um XML inteiro e achar um Node, e ao achar
> > adicionar um ChildNode nele, como faço isso? Sendo que o Node pode estar
> em
> > qualquer lugar na estrutura do XML?
> >
> > Obrigado
> >
> > --
> > _
> > 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]
> >
> >
>
> --
> Timeo hominem unius libri
> Cogito ergo sum - Carpe diem
>
> []s
> Guionardo Furlan
> http://guionardo.blogspot.com
>  
>



-- 
_
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]



Re: [delphi-br] Como encontrar um Node em um XMLDocument e incluir um ChildNode, independente onde o Node esteja?

2008-12-20 Por tôpico Guionardo Furlan
Começando com o root

1.Verificar se o nome do node atual é o que vc está procurando.
2. Se for sim, retorna o node e encerra.
3. Se não, verifica se existem subnodes.
4. Se não, retorna nil e encerra.
5. Se sim, faz um loop percorrendo todos os subnodes e, usando
recursividade, chama o procedimento para cada subnode.

Mais ou menos isso.

2008/12/19 Fellipe Henrique :
> Amigos, preciso vasculhar um XML inteiro e achar um Node, e ao achar
> adicionar um ChildNode nele, como faço isso? Sendo que o Node pode estar em
> qualquer lugar na estrutura do XML?
>
> Obrigado
>
> --
> _
> 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]
>
> 



-- 
Timeo hominem unius libri
Cogito ergo sum - Carpe diem

[]s
Guionardo Furlan
http://guionardo.blogspot.com