IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modules Perl Discussion :

XML::DOM Comment récupérer une donnée ?


Sujet :

Modules Perl

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 70
    Points : 49
    Points
    49
    Par défaut XML::DOM Comment récupérer une donnée ?
    Bonjour,

    Mon fichier source est:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : 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
    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.

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 70
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    La réponse était:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @content = $doc->getElementsByTagName ("CompleteName" );
    print $content[0]->getFirstChild()->toString();
    Merci Gilou !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment récupérer une donnée dans la fenêtre LOG?
    Par débutantenSAS dans le forum SAS STAT
    Réponses: 4
    Dernier message: 29/11/2009, 12h07
  2. Réponses: 3
    Dernier message: 17/06/2008, 17h05
  3. comment récupérer une donnée dans une requête
    Par valerie02 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/06/2007, 23h20
  4. Réponses: 27
    Dernier message: 19/09/2006, 09h51
  5. [VB6] Comment récupérer une donnée à travers un activeX ?
    Par ferry.jules dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 02/06/2006, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo