[Cascavel-pm] Res: XML::Parser Tree

Gabriel Vieira gabriel.vieira em gmail.com
Quinta Junho 28 17:40:43 PDT 2007


Ele lhe mostra o conteúdo de $xml, no caso, a sua estrutura cuja
utilização dele (Data::Dumper) é apenas para que você possa
visualizá-la. Para acessar os dados, você pode fazer como no exemplo
enviado $xml[0], ... :)

On 6/28/07, Daniel (r) Antunes <danielrantunes em yahoo.com.br> wrote:
>
>
>     Opa, valeu pela dica... Eu sempre uso o strict e o -w... Neste exemplo
> eu tirei para ir tentando na força bruta, hehehehe...
>     Bom, o Data::Dumper somente me mostra o conteúdo correto ? Ou eu consigo
> navegar pelo resultado ?
>     Obrigado novamente...
>  Daniel (r) Antunes
> profissional de informática
> msn daniel.legend em terra.com.br
> mobile + 55 11 8965 2999
> gnu/linux user #238553
>
>
>
> ----- Mensagem original ----
> De: Lorn <lorn.br em gmail.com>
> Para: Cascavel Perl Mongers <cascavel-pm em pm.org>
> Enviadas: Quinta-feira, 28 de Junho de 2007 17:46:04
> Assunto: Re: [Cascavel-pm] XML::Parser Tree
>
> E não se esqueça:
>
>
> use strict;
> use warnings;
>
>
>
>
> On 6/28/07, Gabriel Vieira <gabriel.vieira em gmail.com > wrote:
> > Opa Daniel!
> >
> > Faça uso do Data::Dumper :)
> >
> >
> ------------------------------8<---------------------------
> ---
> > use XML::Parser;
> > use Data::Dumper;
> >
> > my $parser=new XML::Parser;
> > my $p=new XML::Parser(Style => 'Tree');
> > my $xml=$p->parse('<inquiry>'
> >                                         .'<city>2</city>'
> >
> .'<region>CENTER</region>'
> >                                         .'<childages>'
> >
> .'<childage>2</childage>'
> >
> .'<childage>11</childage>'
> >                                         .'</childages>'
> >                                       .'</inquiry>');
> >
> >
> > print Dumper($xml);
> >
> ------------------------------>8------------------------------
> >
> > A saída:
> >
> ------------------------------8<------------------------------
> > $VAR1 = [
> >           'inquiry',
> >           [
> >             {},
> >             'city',
> >             [
> >               {},
> >               0,
> >               '2'
> >             ],
> >             'region',
> >             [
> >               {},
> >             &nbs p; 0,
> >               'CENTER'
> >             ],
> >             'childages',
> >             [
> >               {},
> >               'childage',
> >               [
> >                 {},
> >                 0,
> >                 '2'
> >                ],
> >               'childage',
> >               [
> >                 {},
> >                 0,
> >                 '11'
> >               ]
> >             ]
> >           ]
> >         ];
> >
> ------------------------------>8------------------------------
> >
> > Abraços,
> >
> >
> > On 6/28/07, Daniel (r) Antunes < danielrantunes em yahoo.com.br> wrote:
> > >
> > >     Olá amigos da lista,
> > >     Estou apanhando com uma bobeirinha e acredito que os amigos possam
> me
> > > ajudar.
> > >     Já fiz parsers usando Handlers para grandes documentos e conheço bem
> o
> > > funcionamento. Agora estou tentando criar um parser usando a opção
> "Tree",
> > > nunca tinha utilizado este método e apesar da simplicidade exposta na
> "man
> > > page" estou apanhando.
> > >     Segue um script que fiz para testar o funcionamento :
> > >
> > > #!/usr/bin/perl
> > > use XML::Parser;
> > > my $parser=new XML::Parser;
> > > my $p=new XML::Parser(Style => 'Tree');
> > > my $xml=$p->parse('<inquiry>'
> > >
> .'<city>2</city>'
> > >
> .'<region>CENTER</region>'
> > >                                         .'<childages>'
> > >
> .'<childage>2</childage>'
> > >
> .'<childage>11</childage>'
> > >                                         .'</childages>'
> > >                                       .'</inquiry>');
> > > print " 1º\t",$xml,"\n\n";
> > > print " 2º\t",$$xml[0],"\n\n";
> > > print " 3º\t",$$xml[1],"\n\n";
> > > print " 4º\t",$$xml[1][1],"\n\n";
> > > print " 5º\t",$$xml[1][2],"\n\n";
> > > print " 6º\t",$$xml[1][3],"\n\n";
> > > print " 7º\t",$$xml[1][4],"\n\n";
> > > print " 8º\t",$$xml[1][5],"\n\n";
> > > print " 9º\t",$$xml[1][6],"\n\n";
> > >
> > >     O resultado no console é o seguinte :
> > >
> > > 1º     ARRAY(0x815a0e4)
> > >
> > >  2º     inquiry
> > >
> > >  3º     ARRAY(0x815a180)
> > >
> > >  4º     city
> > >
> > >  5º     ARRAY(0x8220f90)
> > >
> > >  6º     region
> > >
> > >  7º     ARRAY(0x8220f30)
> > >
> > >  8º     childages
> > >
> > >  9º     ARRAY(0x82130f4)
> > >
> > > 10º
> > >
> > > 11º
> > >
> > > 12º
> > >
> > >     Minha dúvida é : Como navegar pelos elementos. :(
> > >     Muitíssimo obrigado galera.
> > >     Abraço.
> > >
> > >  Daniel (r) Antunes
> > > profissional de informática
> > > msn daniel.legend em terra.com.br
> > > mobile + 55 11 8965 2999
> > > gnu/linux user #238553
> > >
> > >
> > >  ________________________________
> > > Novo Yahoo! Cadê? - Experimente uma nova busca.
> >
> > > _______________________________________________
> > > Cascavel-pm mailing list
> > > Cascavel-pm em pm.org
> > > http://mail.pm.org/mailman/listinfo/cascavel-pm
> > >
> >
> >
> >
> > --
> > Gabriel Vieira
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
>
>
>
> --
> Lindolfo "Lorn" Rodrigues
> - www.slackwarezine.com.br
> - http://lornlab.org
> - http://sao-paulo.pm.org
> use Catalyst;
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>  ________________________________
> Novo Yahoo! Cadê? - Experimente uma nova busca.
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>


-- 
Gabriel Vieira


Mais detalhes sobre a lista de discussão Cascavel-pm