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

Langage Perl Discussion :

mettre à jour un fichier xml avec perl


Sujet :

Langage Perl

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2013
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut mettre à jour un fichier xml avec perl
    Bonjour,

    Je suis débutante en perl.
    J'ai fait un script perl qui utilise le module XML::Twig.

    ce script utilise comme entrée un fichier xml dont un extrait est le suivant :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      <phrase code="1">
        <libelle attribut="att1">MON PREMIER text</libelle>
        <libelle attribut="att2">MON deuxieme TEXT</libelle>
        <libelle attribut="att3">MON TROISIEME TEXT</libelle>
     </phrase>

    Je veux écrire un script perl qui modifie les chaines en maj en minuscule.
    Je veux avoir en sortie sur le meme xml d'entrée

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      <phrase code="1">
        <libelle attribut="att1">Mon premier text</libelle>
        <libelle attribut="att2">Mon deuxieme text</libelle>
        <libelle attribut="att3">Mon troisieme text</libelle>
     </phrase>

    j'ai réussi à extraire les chaines les modifier en minuscule, mais je n'ai pas su lé réécrire à leur place

    voici mon script perl :
    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
     
    use strict;
    use warnings;
    use XML::Twig;
    my $dicoName;
    my $ch;
    my $xmlfile;
    $xmlfile=$ARGV[0];
    my $xmlfile_twig=new XML::Twig();
    if ($xmlfile_twig -> parsefile($xmlfile))
    {   
    my @phrases=($xmlfile_twig-> get_xpath('./phrase'));
    foreach my $phrase (@phrases)
    {
    $libelle=($phrase->get_xpath('./libelle[@attribut ="att1"]'))[0];
    $libelle = $libelle->text;
    $ch = lc("$libelle");
    $ch = ucfirst("$ch"); # $ch contient la chaine a écrire au lien de l'anciene valeur de libelle
    }
    }
    Quelqu'un peut m'aider SVp

  2. #2
    Membre du Club
    Homme Profil pro
    BioInformaticien
    Inscrit en
    Décembre 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : BioInformaticien
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2012
    Messages : 49
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    Si tu n'as pas de majuscule dans tes balises, tu peux tout simplement faire un lc sur tout ton fichier non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    open(Xmlfile,"$ARGV[0]") or die("open: $!");
    while( defined( $line = <Xmlfile> ) ) {
    	$line=lc($line);
    	if ($line =~/>\w/){
    		my @split = split(/>/, $line);
    		$split[1]=ucfirst($split[1]);
    		print $split[0].">".$split[1].">\n";
    	}
    	else{
    	 print "$line";	
    	}
    }
    j'ai utilisé un split ce qui rend le script très spécifique, mais tu peux faire ça avec quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    uc(substring($line,$-[0]+1,1))
    un peu plus dur à comprendre.

Discussions similaires

  1. mettre à jour un fichier xml avec ANT
    Par najemefa dans le forum XML
    Réponses: 0
    Dernier message: 22/07/2008, 16h48
  2. mettre à jour un fichier xml
    Par najemefa dans le forum ANT
    Réponses: 0
    Dernier message: 22/07/2008, 14h22
  3. [DOM] Mettre à jour un fichier XML (par URL)
    Par ensiie dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 21/01/2007, 12h56
  4. Manipulation d'un fichier XML avec Perl
    Par brahak dans le forum Modules
    Réponses: 3
    Dernier message: 01/05/2006, 22h36

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