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 :

Parsing xml pour retomber sur du xml


Sujet :

Modules Perl

  1. #21
    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
    Dans ton exemple, VALEUR CHANGEE provient d'où ?

  2. #22
    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
    Voici un bout de code, je ne sais pas si ça t'aidera :
    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
    #!/usr/bin/perl
    use Carp;
    use strict;
    use warnings;
    use XML::Twig;
     
    my $twig = XML::Twig->new(
      pretty_print => 'indented',
      Twig_handlers => {
        'domiciliation/nomBanque' => \&nombanque,
        'virement/automatique' => \&virement,
      },
    );
    $twig->parsefile( 'TOTO.xml'); 
    open my $fh, '>', 'TOTOmodifie.xml';
    $twig->print($fh);
    close $fh;
     
    sub nombanque {
      my ($twig, $twig_NomBanque) = @_;
     
      print "Je suis dans la balise ",$twig_NomBanque->name,"\n";
     
      my $NomBanque = $twig_NomBanque->text;
      print "==> ",$NomBanque,"\n";
     
      return;
    }
    sub virement {
      my ($twig, $twig_automatique) = @_;
      print "Je suis dans la balise ",$twig_automatique->name,"\n";
      # Cherchons le nom de la Banque
      # Cherchons le frere du parent de virement de type contenant nomBanque
      my $twig_parent = $twig_automatique->parent;
     
      # Cherchons le frere de virement (domiciliation)
      my $twig_NomBanque;
      if ( defined $twig_parent ) {
        if ( my $twig_domiciliation = $twig_parent->prev_sibling('domiciliation') ) {
          # Cherhons la banque
          if ( my $banque = $twig_domiciliation->field('nomBanque') ) {
            print "Ma banque : $banque\n";
            print "Automatique :  ", $twig_automatique->text, "\n";
          }
        }
     
      }
     return;
    }
    Qui te donne comme résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Je suis dans la balise nomBanque
    ==> Banque Populaire
    Je suis dans la balise automatique
    Ma banque : Banque Populaire
    Automatique :  SFR

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Parser un XML pour obtenir un autre XML
    Par hedibox dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 13/09/2013, 15h04
  2. representation des donnée en xml pour android sur serveur
    Par kalfadine dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 14/04/2012, 17h19
  3. Réponses: 4
    Dernier message: 27/02/2010, 22h04
  4. [c#][xml] requete xpath sur document xml avec espace de noms
    Par fab56 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/02/2009, 11h56
  5. [XML] Recherche Banque de fichiers XML pour tester
    Par MoTUmBo dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 14/10/2006, 11h08

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