2009-07-07 4 views
0

J'utilise cURL pour obtenir le fichier XML pour mon Twitter calendrier de l'ami. (API here.)Comment utiliser Perl pour analyser Twitter XML?

Actuellement (bien que je serais ouvert pour plus de suggestions) J'utilise Perl pour analyser le XML. C'est la première fois que j'utilise Perl et je ne sais vraiment pas ce que je fais. À l'heure actuelle c'est mon code:

#!/usr/bin/perl 
# use module 
use XML::Simple; 
use Data::Dumper; 
# Create object. 
$xml = new XML::Simple; 
# Read XML file. 
$data = $xml->XMLin("/tmp/data.xml"); 
# Print output. 
print Dumper($data); 

Maintenant, je veux passer par le XML et imprimer le nom de chaque personne et ce qu'ils tweeté. Actuellement, je n'ai pas trouvé un bon guide sur la boucle foreach de Perl quand il y a une structure de données compliquée comme celle-ci.

Comment puis-je y parvenir?

(Toute autre façon d'analyser le XML dans un environnement terminal serait bon de savoir à peu près aussi bien)

Répondre

4

Il n'y a pas de réponse générique - cela dépend du contenu de votre data.xml. Pour l'exemple sur la page que vous pouvez effectuer les opérations suivantes:

foreach my $unode (values %{$data->{status}}) { 
    print "$unode->{user}->{name} \t $unode->{created_at} \t $unode->{text} \n"; 
} 

sortie:

Doug Williams Tue Apr 07 22:52:51 +0000 2009   At least I can get your humor through tweets. RT @abdur: I don't mean this in a bad way, but genetically speaking your a cul-de-sac. 

Ce qu'il fait est - il obtient le hashref appelé « statut », déréférence, puis itère par ses valeurs, qui sont aussi des hashrefs, assignent chacune d'elles à $ unode.

Vous pouvez également regarder impression Dumper $ unode pour voir ce qui est disponible ailleurs. Notez également que XML :: Simple peut être un peu délicat dans la façon dont il analyse xml - parfois, vous devrez peut-être passer des paramètres supplémentaires pour faire créer des tableaux où vous voulez qu'il - consulter la docs

programmation Perl Le chapitre 9 vous présente les différentes structures de données imbriquées dans perl.

+0

Si vous suivez le lien vers l'API, c'est là. –

+0

ok, juste vu et mis à jour – naumcho

+1

@Naumcho: Ne postez pas de liens vers des livres piratés. @Eric: Voir 'perldoc perldsc' pour une bonne discussion des structures de données complexes en Perl. – Telemachus

Questions connexes