Thread <b>*</b> mit perl aus XML filtern?
(64 answers)
Opened by Hunnenkoenig at 2009-10-27 18:57
Ich habe das Script verwendet um den Baum zu erzeugen:
Um genau zu sein es war ein klein wenig anders, weshalb er einen Teil übersprungen hat, ist mir aber nicht aufgefallen. :/ Ich habe die Funktion aus einem Anderen Script heraus kopiert, ohne genau auf zu passen. 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 #!/usr/bin/perl use strict; use warnings; use LWP::Simple; use XML::Simple; my $currentSoftware = 321234472; my $data=get("http://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=$currentSoftware&mt=8"); my $ref = XMLin($data); print display_tree($ref,''); sub display_tree { my $ref=shift; my $shiftin=shift || ''; my $ret=''; if(ref($ref) eq 'ARRAY') { for my $cnt (0..$#$ref) { $ret.=$shiftin.$cnt; my $lst=display_tree($ref->[$cnt],$shiftin." "); if(index($lst,"\n")>-1) { $ret.=":\n".$lst; } else { $ret.="=$lst\n"; } } } elsif(ref($ref) eq 'HASH') { for my $key (sort keys(%$ref)) { $ret.=$shiftin.$key; my $lst=display_tree($ref->{$key},$shiftin." "); if(index($lst,"\n")>-1) { $ret.=":\n".$lst; } else { $ret.="=$lst\n"; } } } else { $ref=~s/[\n\r]/ /gs; $ret=$ref; } return $ret; } Dazu nochmal der Baum, ich hoffe er ist jetzt vollständig :) http://nopaste.info/4e7ea22dbd.html |