XML::DOM Comment récupérer une donnée ?
Bonjour,
Mon fichier source est:
Code:
1 2 3 4 5 6 7 8
| <?xml version="1.0" encoding="UTF-8"?>
<File>
<track type="General">
<ID_String>0 (0x0)</ID_String>
<CompleteName>Files_Encoded.ts</CompleteName>
<Format>MPEG-TS</Format>
<FileSize_String>594 MiB</FileSize_String>
</track></File> |
Voici mon script:
Code:
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 45 46 47 48 49 50 51 52 53 54 55 56 57
| #!/usr/bin/perl -w
use strict;
use warnings;
use File::Copy;
use File::Find;
use XML::DOM;
# ************************************************************
# Calcul du temps - #60*60*24*0 = Aujourd'hui
# Aujourd'hui
my $temps = time - 60*60*24*0;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($temps);
if($sec < 10) {$sec = "0" . $sec;}
if($min < 10) {$min = "0" . $min;}
if($hour < 10) {$hour = "0" . $hour;}
if($mday < 10) {$mday = "0" . $mday;}
$year+=1900; $mon++; if($mon < 10) {$mon = "0" . $mon;}
my $jobs_date = $year.$mon.$mday;
my $datetime = $year.$mon.$mday.$hour.$min.$sec;
my $DATE_FR_SLASH = $mday."/".($mon)."/".($year)."|".$hour.":".$min.":".$sec;
print $DATE_FR_SLASH."\n";
#************************************************************
# GlobalVariables
my $OUTFILE;
my $OUTDIR;
my $parser;
my $doc;
my @content;
my $element;
my $TFILE;
my $id_cont;
#************************************************************
# Script Starting...
$OUTDIR = "/cygdrive/d/_.compil/";
$OUTFILE = "Test.xml";
$parser = new XML::DOM::Parser();
$doc = $parser->parsefile ($OUTFILE);
print "$OUTDIR"."$OUTFILE"."\n\n";
@content = $doc->getElementsByTagName ("track");
foreach $element (@content)
{
$id_cont = $element->getAttribute ("type");
$TFILE = $element->toString();
print $id_cont . "\n";
}
$doc->dispose;
__END__ |
J'arrive a récupérer la track "General"
Mais je n'arrive pas à récupérer par exemple le nom de fichier Files_Encoded.ts appartenant au tag CompleteName
Comment faire?
Merci d'avance.