Apres fouille dans mes vieux script, j'en ai trouvé un qui peux déjà t'aider
tu dois installer libxml-perl
puis change
my $mon_fichier = "le_nom_de_ton_fichier.xml";
Essaye de t'en inspirer pour faire ton script. celui ci print Bonjour
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
|
#!/usr/bin/perl -w
use strict;
use Carp;
package MyHandler;
my $balise = "no";
sub new {
my ($type) = @_;
return bless {}, $type;
}
sub start_element {
my ($self, $el) = @_;
if ($el->{Name} eq "w:t"){
$balise = "yes";
}
}
sub end_element {
my ($self, $el) = @_;
if ($el->{Name} eq "w:t"){
$balise = "no";
}
}
sub characters {
my ($self, $a) = @_;
#$b =~ s/\&/\&\;/g;
$a =~ s/</\<\;/g;
if ($balise eq "yes"){
print $a->{Data}."\n";
}
}
#########################################################
package main;
use strict;
use XML::Parser::PerlSAX;
import MyHandler;
my $my_handler = MyHandler->new;
my $parser = XML::Parser::PerlSAX->new( Handler => $my_handler );
my $mon_fichier = "le_nom_de_ton_fichier.xml";
die "I need an XML file as argument" unless $mon_fichier;
$parser->parse( Source => { SystemId => $mon_fichier } ); |
voilà
Partager