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

XSL/XSLT/XPATH XML Discussion :

[XSLT] Comment rechercher un caractère et le remplacer par un autre


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut [XSLT] Comment rechercher un caractère et le remplacer par un autre
    Bonjour à tous,

    Je suis débutant en ce qui concerne le XML/XSL. Et j'ai un problème que j'arrive pas à résoudre. Pour faire symple j'ai un fichier XML qui ressemble à çà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <variable name="quelquechose" description="Phrase 1, Phrase 2">
    </variable>
    Dans description, Il peut aussi avoir juste une Phrase (et ça serait le rêve )

    En faite je voudrais faire un XSL qui doit :

    Rechercher dans le paramètre description du noeud variable la présence d'une virgule

    et si la virgule est là, je voudrais la remplacer par un "_"

    Si toute mes descriptions étaient les mêmes je n'aurais pas de soucis je pense, mais dans mon cas je ne peux prévoir ce qu'il y aura dans description mais juste remplacer la virgule s'il y'en a une.


    Le but de tout ceci est de transformer un fichier XML en un fichier txt avec comme séparateur la virgule... Je n'ai aucun contrôle sur le fichier XML, étant donnée qu'il est généré automatiquement.


    Merci d'avance

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Par chance, un petit xPath comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    translate(@description, ',', '_')
    devrait faire l'affaire. Je dis "par chance", parce que faire du remplacement de chaîne avec juste les fonctions xPath 1.0 officielles, c'est souvent une usine à gaz.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut Merci
    Merci merci
    J'ai passé la matinée à chercher ce truc mais qui est en faite tout bidon...
    C'est rageant!!!

    Merci

    Pour info... même si je sait que c'est bidon lol

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <xsl:template name="writeImportLine">
                    <xsl:value-of select="translate($VariableDescription,',',' _')"/>
    		<xsl:text>,</xsl:text>
    </xsl:template>

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/08/2010, 23h38
  2. Réponses: 2
    Dernier message: 26/05/2010, 11h23
  3. Remplacer un caractère d'un string par d'autres
    Par splash68 dans le forum Débuter
    Réponses: 5
    Dernier message: 16/03/2010, 12h03
  4. les caractères accentués sont remplacés par des caractères chinois
    Par ghyosmik dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 04/12/2008, 22h33
  5. [XSLT] Comment rechercher dans un fichier xml
    Par abdoulax dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 22/10/2006, 19h28

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