Thread XML::Simple - Weiterverarbeitung der Daten (13 answers)
Opened by Prelude at 2010-04-06 13:36

GwenDragon
 2010-04-06 13:46
#135769 #135769
User since
2005-01-17
14117 articles
Admin1
[Homepage]
user image
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
Allerdings kriege ich Daten nicht in die Arrays. Zum Beispiel die Daten im Bereich "content".

Ist doch gar nicht in der von YouTube geholten XML-Datei drin.
Last edited: 2010-04-06 14:05:02 +0200 (CEST)
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

View full thread XML::Simple - Weiterverarbeitung der Daten