Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Why XML::Smart model can't work

by Random_Walk (Parson)
on Dec 17, 2013 at 11:05 UTC ( #1067453=note: print w/ replies, xml ) Need Help??


in reply to Why XML::Smart module can't work

can you insert print Dumper $XML_1; after my $XML_1 = XML::Smart->new('run.xml'); to check you really got an XML::Smart object.

Cheers,
R.

Pereant, qui ante nos nostra dixerunt!


Comment on Re: Why XML::Smart model can't work
Select or Download Code
Re^2: Why XML::Smart module can't work
by sanguine_perl (Initiate) on Dec 18, 2013 at 02:32 UTC

    Yes, after inserting print Dumper $XML_1, i got the ojbect, but why i can't print $ref?

    My really intention is to parse the result of get request and print the result i wanted into a .csv file.
    #!/usr/bin/perl use XML::Smart; use Data::Dumper; use warnings; use strict; my @array = (); my %data = (); open OUTFILE, '>result2.csv' or die $!; open FILE, 'fund.txt' or die $!; while (<FILE>) { chomp; my $XML = XML::Smart->new("http://cmsbeta.morningstar.com/api/v2 +/2008428323/securities/$_"."/documents?colids=590&fields=*"); print Dumper $XML; eval{ %data = %{$XML->{Document}->{Content}->{People}}; }; for my $li (keys %data){ print "$li:$data{$li}"."\n"; push (@array,$data{$li}); } print OUTFILE ("$_,","@array"."\n"); @array = (); } close(OUTFILE); close(FILE); exit;
    the result i got is
    C:\Users\rchen4\Desktop\Perl_XML>perl parse_prepare.pl Use of uninitialized value $data in pattern match (m//) at C:/Dwimperl +/perl/site /lib/XML/Smart/Tree.pm line 169, <FILE> line 1. $VAR1 = bless( do{\(my $o = bless( { 'tree' => {}, 'a' => [], 'TIEONUSE' => { 'h' => 'XML::Smart::Tie::Has +h', 'a' => 'XML::Smart::Tie::Arr +ay' }, 'parser' => '', 's' => \sub { "DUMMY" }, 'c' => sub { "DUMMY" }, 'point' => ${$VAR1}->{'tree'}, 'h' => {}, 'g' => \*Object::MultiType::Saver::NULL, 'b' => \sub { "DUMMY" } }, 'Object::MultiType::Saver' ))}, 'XML::Smart +' );
    I still got nowhere.I can use XML::Simple to finish the similar task, but i think XML::Smart is more cool so i want to try it.

      That object you got back looks just like mine did when it failed to connect to the URL. Are you sure it is contacting the web server? Try printing "http://cmsbeta.morningstar.com/api/v2/2008428323/securities/$_"."/documents?colids=590&fields=*\n" and check you can connect to the resulting URL, with a browser, from the machine where your Perl is running

      Cheers,
      R.

      Pereant, qui ante nos nostra dixerunt!
        I use print Dumper object; and search the reason on line, finally it is resolved.

        Thanks!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1067453]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (11)
As of 2014-11-21 11:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (107 votes), past polls