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 :

Analyser un fichier XML


Sujet :

Modules Perl

  1. #1
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 13
    Points
    13
    Par défaut Analyser un fichier XML
    slt à tous,

    j'ai un XML sous la forme suivante:

    Code xml : 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
    <measCollecFile xmlns="http://www.3gpp.org/ftp/specs/latest/rel-5/32_series/32432-610.zip#measCollec">
      <fileHeader fileFormatVersion="32.435 V6.0" vendorName="Nokia Siemens Networks" dnPrefix="@vantage Commander">
        <fileSender localDn="@Commander" elementType="@Commander"/>
        <measCollec beginTime="2011-06-22T12:45:01+01:00"/>
      </fileHeader>
      <measData>
        <managedElement userLabel="HFE_MNB_02" swVersion="NotAvailable"/>
        <measInfo>
          <granPeriod duration="PT900S" endTime="2011-06-22T11:59:03"/>
          <measTypes>ReceivedRequests-405.1.1.1 FailureRate-405.1.1.3 SentRequests-405.4.1.1 ReceivedResponses-405.4.1.2 FailureRate-405.4.1.3 ReceivedRequests-405.4.2.1 SentResponses-405.4.2.2 FailureRate-405.4.2.3</measTypes>
          <measValue measObjLdn="nedType=platform,PacketId=405,SymbolicNEName=HFE_MNB_02">
            <measResults>0 0 0 0 0 754 754 0</measResults>
            <suspect>false</suspect>
          </measValue>
        </measInfo>
    	  </measData>
      <fileFooter>
        <measCollec endTime="2011-06-22T13:00:01+01:00"/>
      </fileFooter>
    </measCollecFile>

    je dois extraire le contenu des balises <measTypes> (noir gras), <measResults> (rouge gras) et les affiche dans un tableau sous la forme suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
        measTypes                                         measResults
     
    ReceivedRequests-405.1.1.1 	                   0
    FailureRate-405.1.1.3 	                           0
    SentRequests-405.4.1.1                              0
    ReceivedResponses-405.4.1.2 	                   0
    FailureRate-405.4.1.3 	                           0
    ReceivedRequests-405.4.2.1 	                 754
    SentResponses-405.4.2.2 	                 754
    FailureRate-405.4.2.3	                           0
    some help PLZ!!!
      0  0

  2. #2
    Membre averti

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2011
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 184
    Points : 322
    Points
    322
      0  0

  3. #3
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 13
    Points
    13
    Par défaut
    bjr,
    voila le message qui s'affiche quand je compile mon script!!



    bon, j'ai installé XMl-Twig 3.38 mais toujours le même message!!
    Images attachées Images attachées  
      0  0

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Comment as-tu installé le module ? Quelle est ta version de Perl et sous Quel OS travailles-tu ? De plus, sans programme de ta part, difficile de t'aider !
      0  0

  5. #5
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 13
    Points
    13
    Par défaut
    ben j'ai exécuté "makefile" si non j'ai un OS: win7 et perl 5.137
    enfait, je comprend pas pourquoi perl package manager ne trouve pas le module Twing et l’installe tout simplement!!!
      0  0

  6. #6
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 13
    Points
    13
    Par défaut
    voici le lien twig que j'ai telechargé!

    http://search.cpan.org/dist/XML-Twig/
      0  0

  7. #7
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 13
    Points
    13
    Par défaut
    autre chose! comment je peux vérifier si le module (twig.pm) est vraiment installé (path sous windows)
      0  0

  8. #8
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 13
    Points
    13
    Par défaut
    d'autre part, est-ce que ça marche aussi si j'utilise XML::SIMPLE (au lieu de XMl::Twig vue qu'il pose pas de problème du module) pour mon fichier XML (pas assez simple) écrit au dessus??
      0  0

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 221
    Points : 207
    Points
    207
    Par défaut
    salut,

    Quelle est ta distribution de Perl?

    As-tu essayé de faire l'installation via l'utilitaire "cpan"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C:\>cpan
    cpan> i/XML::Twig/
    cpan> install XML::Twig
    Consernant XML:Simple, c'est un très bon module (c'est celui que j'utilise). par contre lors du chargement du fichier XML, il le vérifie pour le valider, si il trouve une erreur dans le fichier XML, il ne voudra pas aller plus loin.

    De plus il le charge entièrement en mémoire, et si le fichier XML est grand, cela prends pas mal de temps
      0  0

  10. #10
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Citation Envoyé par medsup Voir le message
    ben j'ai exécuté "makefile" si non j'ai un OS: win7 et perl 5.137
    enfait, je comprend pas pourquoi perl package manager ne trouve pas le module Twing et l’installe tout simplement!!!
    5.137 comment l'as tu installé ? Ce n'est pas une version stable !!
      0  0

  11. #11
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par mamax29 Voir le message
    salut,

    Quelle est ta distribution de Perl?

    As-tu essayé de faire l'installation via l'utilitaire "cpan"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C:\>cpan
    cpan> i/XML::Twig/
    cpan> install XML::Twig
    Consernant XML:Simple, c'est un très bon module (c'est celui que j'utilise). par contre lors du chargement du fichier XML, il le vérifie pour le valider, si il trouve une erreur dans le fichier XML, il ne voudra pas aller plus loin.

    De plus il le charge entièrement en mémoire, et si le fichier XML est grand, cela prends pas mal de temps

    quel type de problème?? si non mon XML n'est pas volumineux!
      0  0

  12. #12
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par djibril Voir le message
    5.137 comment l'as tu installé ? Ce n'est pas une version stable !!

    ah désolé c'est un "activePerl 5.12.3.1204" win64
      0  0

  13. #13
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ppm install http://www.bribes.org/perl/ppm/XML-Twig.ppd
      0  0

  14. #14
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 13
    Points
    13
    Par défaut
    bon ça marche pas!!! j'ai un problème de proxy! je régle ça quand je re chez moi! pas de soucis
    pour le moment je vais essayer avex XML::SIMPLE
    tout d'abord je veux juste extraire des info de XMl ( mentionné en gras)

    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
    <measCollecFile xmlns="http://www.3gpp.org/ftp/specs/latest/rel-5/32_series/32432-610.zip#measCollec">
      <fileHeader fileFormatVersion="32.435 V6.0" vendorName="Nokia Siemens Networks" dnPrefix="@vantage Commander">
        <fileSender localDn="@Commander" elementType="@Commander"/>
        <measCollec beginTime="2011-06-22T12:45:01+01:00"/>
      </fileHeader>
      <measData>
        <managedElement userLabel="HFE_MNB_02" swVersion="NotAvailable"/>
        <measInfo>
          <granPeriod duration="PT900S" endTime="2011-06-22T11:59:03"/>
          <measTypes>ReceivedRequests-405.1.1.1 FailureRate-405.1.1.3 SentRequests-405.4.1.1 ReceivedResponses-405.4.1.2 FailureRate-405.4.1.3 ReceivedRequests-405.4.2.1 SentResponses-405.4.2.2 FailureRate-405.4.2.3</measTypes>
          <measValue measObjLdn="nedType=platform,PacketId=405,SymbolicNEName=HFE_MNB_02">
            <measResults>0 0 0 0 0 754 754 0</measResults>
            <suspect>false</suspect>
          </measValue>
        </measInfo>

    mon script Perl le suivant:

    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
    #! /usr/bin/perl
    use strict;
    use warnings;
     
    use XML::Simple;
     
    my $parser = XML::Simple->new( KeepRoot => 1 );
     
     
    my $KPI = 'KPI.txt';
    open( my $FhKPI, '>', $KPI)
      or die("Impossible d'ouvrir le fichier $KPI\n$!");
     
    my $doc = $parser->XMLin('xml_format.xml');
     
     
    foreach my $measInfo( @{ $doc->{measCollecFile}->{measData}->{measInfo} } ) {
      print {$FhKPI} 'KPI : ';
      print {$FhKPI} $measInfo->{measTypes};
      print {$FhKPI} "\n";
      if ( $measInfo->{measValue} ) {
        print {$FhKPI} "value : ";
        print{$FhKPI} $measInfo->{measResults} ;
    	 print {$FhKPI} "\n";
      }
     
     
    }
     
    close($FhKPI);

    le resultat sera dans KPI.txt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    KPI : ReceivedRequests-405.1.1.1 FailureRate-405.1.1.3 SentRequests-405.4.1.1 ReceivedResponses-405.4.1.2 FailureRate-405.4.1.3 ReceivedRequests-405.4.2.1 SentResponses-405.4.2.2 FailureRate-405.4.2.3
    value :

    value est toujours vide !!!!!
      0  0

  15. #15
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 13
    Points
    13
    Par défaut
    pas de réponse??
      0  0

  16. #16
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     print{$FhKPI} $measInfo->{measValue}{measResults} ;
    Pour debugguer le contenu XML::Simple, il faut utiliser Data::Dumper.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    foreach my $measInfo( @{ $doc->{measCollecFile}->{measData}->{measInfo} } ) {
      print Dumper $measInfo;
      print {$FhKPI} 'KPI : ';
      print {$FhKPI} $measInfo->{measTypes};
      print {$FhKPI} "\n";
      if ( $measInfo->{measValue} ) {
        print {$FhKPI} "value : ";
        print{$FhKPI} $measInfo->{measValue}{measResults} ;
    	 print {$FhKPI} "\n";
      }
     
     
    }
    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
    $VAR1 = {
              'granPeriod' => {
                              'endTime' => '2011-06-22T11:59:03',
                              'duration' => 'PT900S'
                            },
              'measValue' => {
                             'suspect' => 'false',
                             'measResults' => '0 0 0 0 0 754 754 0',
                             'measObjLdn' => 'nedType=platform,PacketId=405,SymbolicNEName=HFE_MNB_02'
                           },
              'measTypes' => 'ReceivedRequests-405.1.1.1 FailureRate-405.1.1.3 SentRequests-405.4.1.1 ReceivedResponses-405.4.1.2 FailureRate-405.4.1.3 ReceivedRequests-405.4.2.1 SentResponses-405.4.2.2 FailureRate-405.4.2.3'
            };
    $VAR1 = {
              'granPeriod' => {
                              'endTime' => '2011-06-22T11:59:03',
                              'duration' => 'PT900S'
                            },
              'measValue' => {
                             'suspect' => 'false',
                             'measResults' => '0 0 0 0 0 754 754 0',
                             'measObjLdn' => 'nedType=platform,PacketId=405,SymbolicNEName=HFE_MNB_02'
                           },
              'measTypes' => 'ReceivedRequests-405.1.1.1 FailureRate-405.1.1.3 SentRequests-405.4.1.1 ReceivedResponses-405.4.1.2 FailureRate-405.4.1.3 ReceivedRequests-405.4.2.1 SentResponses-405.4.2.2 FailureRate-405.4.2.3'
            };
     
    $VAR1 = {
              'granPeriod' => {
                              'endTime' => '2011-06-22T11:59:03',
                              'duration' => 'PT900S'
                            },
              'measValue' => {
                             'suspect' => 'false',
                             'measResults' => '0 0 0 0 0 754 754 0',
                             'measObjLdn' => 'nedType=platform,PacketId=405,SymbolicNEName=HFE_MNB_02'
                           },
              'measTypes' => 'ReceivedRequests-405.1.1.1 FailureRate-405.1.1.3 SentRequests-405.4.1.1 ReceivedResponses-405.4.1.2 FailureRate-405.4.1.3 ReceivedRequests-405.4.2.1 SentResponses-405.4.2.2 FailureRate-405.4.2.3'
            };
    $VAR1 = {
              'granPeriod' => {
                              'endTime' => '2011-06-22T11:59:03',
                              'duration' => 'PT900S'
                            },
              'measValue' => {
                             'suspect' => 'false',
                             'measResults' => '0 0 0 0 0 754 754 0',
                             'measObjLdn' => 'nedType=platform,PacketId=405,SymbolicNEName=HFE_MNB_02'
                           },
              'measTypes' => 'ReceivedRequests-405.1.1.1 FailureRate-405.1.1.3 SentRequests-405.4.1.1 ReceivedResponses-405.4.1.2 FailureRate-405.4.1.3 ReceivedRequests-405.4.2.1 SentResponses-405.4.2.2 FailureRate-405.4.2.3'
            };
      0  0

  17. #17
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 13
    Points
    13
    Par défaut
    bonjour,
    je vois pas pourquoi j'utilise "dump" je veux plus afficher l'arboresence XMl;
    si non pour le code , quand je le test sur mon XML origine (qui n'est pas assez grand) il affiche juste la 1ere ligne de couple "KPI" et "value" ( avec des valeurs juste).
      0  0

  18. #18
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 13
    Points
    13
    Par défaut
    aussi un message s'affiche après l’exécution du code perl
    "Not a HASH reference at monscript"
      0  0

  19. #19
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Mai 2011
    Messages : 65
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par djibril Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ppm install http://www.bribes.org/perl/ppm/XML-Twig.ppd



    Images attachées Images attachées  
      0  0

  20. #20
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Lit ceci pour apprendre à installer un module perl. Pour le reste, Dumper est juste là pour debugguer, si t'en veut pas, tu ne l'utilise pas, c'est tout . Pour le reste, sans un XML cohérent, difficile de faire le test à ta place.
      0  0

Discussion fermée
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [DOM] Analyser un fichier XML en PHP
    Par wehtam dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 06/03/2008, 18h52
  2. [SimpleXML] Analyser un fichier XML
    Par gannher dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 12/02/2008, 12h27
  3. [XML] [EXPAT] Analyser un fichier XML
    Par namstou3 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 07/11/2007, 18h50
  4. [SimpleXML] Analyser un fichier XML avec PHP
    Par Someone86 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/08/2007, 09h43
  5. [XML] Analyser un fichier XML en PHP
    Par aroua dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 06/07/2007, 11h07

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