Forum Programmation.perl Parser des doc XML en Perl

Posté par  .
Étiquettes : aucune
0
20
mar.
2006
Bonjour,

J'essaye desperement de poster un bout de code,
et je n'y arrive pas, comment faire pour poster du code,
y compris avec des "plus grnad que" et "plus petit que"...



un exemple de ce que ça me donne...


Bonjour à tous.

J'ai fais un script qui sauvegarde la configuration des equipements
reseaux du site sur lequel je boss.

Il donne des fichiers comme ça:



salle server 18
suresnes/e/e4
cisco internetwork operating system software ios (tm) c2900xl software (c2900xl-c3h2s-m), version 12.0(5)wc8, release software (fc1) copyright (c) 1986-2003 by cisco systems, inc. compiled thu 19-jun-03 13:09 by antonino
151 days, 23:34:20.44
deus
<int-1>
vl1

</int-1>
<int-2>
fa0/1
raoul
</int-2>
<int-3>
fa0/2
raymond
</int-3>
<int-4>
fa0/3
roger
</int-4>
<int-5>
fa0/4
rener
</int-5>
<int-6>
fa0/5
remi
</int-6>
<int-7>
fa0/6

</int-7>



J'ai quelque probleme pour le parser.

je recupere les info de chaque champs comme ça:


foreach ( @docxml ) {
if ( "\L$_" =~ m/\<int-/ ) {
$var = $' ;
$var =~ s/>// ;
chomp $var ;
$mib = $var ;
$int = $var ;
print "mib : $mib\n" ;
}

sub extract {
#foreach (@_) { print "$_\n" }
my $ligne = $_[0] ;
my $par = $_[1] ;
if ( "\L$ligne" =~ m/\<$par\>/ ) {
$var = $' ;
$var =~ s/\<\/$par\>//g ;
chomp $var ;
$var = $var;
}
}

extract ( "$_" , 'type' ) ;
extract ( "$_" , 'descr' ) ;
extract ( "$_" , 'vln' ) ;
extract ( "$_" , 'spd' ) ;
extract ( "$_" , 'hostnm' ) ;
extract ( "$_" , 'sysloc' ) ;
extract ( "$_" , 'sysupt' ) ;
$deck = extract ( "$_" , 'sysdsc' ) ;
print "deck de boucle : $deck\n";
}


Mais le probleme que j'ai, c'est que je n'arrive pas à faire:
-Donne moi tout ce qui est entre et , y compris les retours chariot.
Je me rend bien compte que ma solution est bancale...


Comment faite vous, pour epelucher vos fichier xml...?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.