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 :

Regex et xml


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 33
    Par défaut Regex et xml
    Bonjour à tous,
    Je voudrais dans des fichiers XML remplacer 3 lignes par une nouvelle :
    Voici ce que je dois remplacer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
                  <Image iconType="3" name="/com/test/rcp/icon/check2.png"/>
                </Property>
    Voici ce que je fais en perl (contenu = un fichier lu):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    my $expr1 = '<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
                   <Image iconType="3" name="/com/test/rcp/icon/check2.png"/>
                </Property>';
    my $expr2 = 'blablabla'; 
    $contenu =~ s/$expr1/$expr2/g;
    Ca marche correctement quand les espaces sont exactement au même nombre devant les lignes 2 et 3, mais si le nombre d'espaces est différent alors rien n'est remplacé.
    J'ai donc essayé ca mais ca marche pas mieux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    my $expr1 = '<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">\n *<Image iconType="3" name="/com/test/rcp/icon/check2.png"/>\n *</Property>';
    my $expr2 = 'blablabla'; 
    $contenu =~ s/$expr1/$expr2/g;
    Merci pour votre aide
    Laurent

  2. #2
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    j'aurais plutot tendance à te dire d'utiliser des modules de parsing de fichiers XML lorsque tu veux les manipuler.
    Même si dans ton cas, ça à l'air basique, utilise un module simple

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 33
    Par défaut
    J'ai abandonné les expressions régulières. A mon avis ce n'est pas adapté pour manipuler le XML. J'ai écris à bout de code en java à la place.

  4. #4
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    dommage, car il y a des modules simples en perl qui t'aurais fait ça simplement

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

Discussions similaires

  1. regex et xml
    Par rambc dans le forum Général Python
    Réponses: 8
    Dernier message: 09/07/2011, 18h20
  2. [RegEx] Regex pour extraire des noeuds XML
    Par lagotonio dans le forum Langage
    Réponses: 6
    Dernier message: 18/04/2008, 14h52
  3. Réponses: 2
    Dernier message: 10/04/2007, 11h46
  4. regex dans fichier XML
    Par pouss dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 10/10/2006, 09h35
  5. [débutant][Regex] changer "cage01.xml" en "cage N° 1
    Par pingoui dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 14/09/2004, 13h05

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