Re: [delphi-br] Como encontrar um Node em um XMLDocument e incluir um ChildNode, independente onde o Node esteja?
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?
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?
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