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
Dans mon cas, je pense utiliser :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 XML::LibXML XML::Parser XML::Simple
Là je bloque pour lui faire comprendre dans la balise voiture, l'attribut name = B, je recupere {ended},{started},{status}.
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);
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.
Partager