use locale; use strict; use XML::DOM; if ( $#ARGV != 0 ) { die "Usage : ", $0, " fichier_xml\n"; } my $parseur = new XML::DOM::Parser; my $doc = $parseur->parsefile( $ARGV[0] ); my @liste_noeuds_de = @{$doc->getElementsByTagName("de")}; foreach my $noeud_de ( @liste_noeuds_de ){ my $numero = $noeud_de->getAttribute("id"); my $type = $noeud_de->getAttribute("det"); my $expression = $noeud_de->getFirstChild->getNodeValue; my $noeud_action_verbale = $noeud_de->getParentNode->getParentNode; my $locuteur = $noeud_action_verbale->getAttribute("who"); print $numero, " (",$locuteur,") : ", $expression, " (", $type,")\n"; }