Thread XML::Simple - Weiterverarbeitung der Daten
(13 answers)
Opened by Prelude at 2010-04-06 13:36
Du hast ja XML::Simple angewiesen, genau zu sein und zu meckern, wenn was nicht passt.
Siehe http://search.cpan.org/perldoc?XML-Simple.pm#STRIC... Zudem hast du die Optionen ForceArray falsch verwendet, es wir nicht klein geschrieben. Versuche mal my $hashref = $xml->XMLin('contact.xml', ForceArray => 1, KeyAttr => []); (ungetestet) So macht das Skript jedenfalls mehr: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #!/usr/bin/perl use strict; use warnings; use LWP::Simple qw(getstore); use Data::Dumper; use XML::Simple qw(:strict); getstore('http://gdata.youtube.com/feeds/api/users/user/contacts?start-index=1&max-results=50', 'contact.xml'); my $xml = XML::Simple->new; my $hashref = $xml->XMLin('contact.xml',ForceArray => 1, KeyAttr => []); open (XMLEXPORT, ">test.txt"); print XMLEXPORT Dumper($hashref); close (XMLEXPORT); foreach my $content (keys %$hashref) { if ( ref($hashref->{$content}) eq 'ARRAY' and @{$hashref->{$content}} > 0) { my @tmp = @{$hashref->{$content}}; foreach my $value (@tmp) { print $content." => ".$value."\n"; } } else { print $content." => ".$hashref->{$content}."\n"; } } Quote Ist doch gar nicht in der von YouTube geholten XML-Datei drin. Last edited: 2010-04-06 14:05:02 +0200 (CEST) |