Bonjour,

Je debute en perl. Pour l'instant j'ai reussi à lire un fichier text et à extraire des données.
En ce moment, j'aimerai parser un fichier xml et de recuperer certaines données.
Mon fichier xml est de ce type :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 <?xml version="1.0" encoding="UTF-8" ?> 
 <voiture> 
 <info count="-1" ended="1376903248" name="A" started="1376903248" status="OK" statusMsg="" /> 
  <info count="-1" ended="1376903275" name="B" started="1376903248" status="OK" statusMsg="" />   
... 
 </voiture>

Je dois extraire par exemple pour 'name=B' :
- la valeur de {ended} et {started} => diff = {ended} - {started}
- le {status}

J'ai regardé ce lien :
http://search.cpan.org/
ainsi que
http://djibril.developpez.com/tutoriels/perl/perl-xml/

Mais je suis perdue avec tous les types de module que je peux utiliser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
XML::LibXML
XML::Parser
XML::Simple
Dans mon cas, je pense utiliser :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use strict;
use warnings;
use File::Path;
.....
use XML::LibXML::Parser;
 
my $OUTDIR="$home";
my $OUTFILE="file.xml";
my $parser;
my $doc;
 
$parser = new XML::Parser();
$doc = $parser->parsefile ($OUTFILE);
 
  # load
  open my $fh, '<', 'file.xml';
  $doc = XML::LibXML->load_xml(IO => $fh);
Là je bloque pour lui faire comprendre dans la balise voiture, l'attribut name = B, je recupere {ended},{started},{status}.

J'ai essayé de regarder sur internet, je suis perdue avec toutes les infos.
Si vous pouvez me donner plus d'explication ou des conseils, ça m'aiderait enormement

Je vous remercie d'avance.