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 :
Quelqu'un peut m'aider SVp
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 } }
Partager