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

Daniel ® Antunes danielrantunes em yahoo.com.br
Quinta Junho 28 16:29:27 PDT 2007


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 ® 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',
            [
              {},
              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.
http://yahoo.com.br/oqueeuganhocomisso 
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070628/babb5df9/attachment.html 


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