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 :

Problème caractère "&"


Sujet :

Langage Perl

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Problème caractère "&"
    Bonjour,

    j'ai un fichier XML (assez lourd, que je traite puis ajoute dans une BDD) avec parfois des caractères comme le "&" qui me pose problème (j'avais aussi les quotes mais j'ai remédié avec quotemeta()).

    Je n'ai pas trouvé (ici et google), ou alors j'ai vraiment mal cherché, comment faire pour remédier à ce problème.
    Je cherche une solution simple et peut couteuse en temps d'exécution et ressources système.

    Je précise que je viens de commencer Perl donc j'ai très peu de connaissance dans ce language.

    Avez vous une idée pour résoudre cela ?

    Voici le bout de code où cela pause problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$sql = "INSERT INTO `ma_table` ( `id` , `titre` ) VALUES ('" . $nodes->item($i)->getElementsByTagName("ID")->item(0)->getFirstChild->getNodeValue . "', '" . quotemeta ($nodes->item($i)->getElementsByTagName("Title")->item(0)->getFirstChild->getNodeValue) . "')";
    Avec par exemple : ID = 12345 et Title = "Mon super titre & vraiment cool"

    Merci à tous pour votre aide.

  2. #2
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Essaie avec quotemeta.
    -- Jasmine --

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Comme je l'ai dis j'utilise déjà quotemeta mais ca n'a pas résolu le problème.
    Une solution possible serai d'utiliser les expressions réguliéres mais je trouve pas ça terrible..

    Donc si quelqu'un a une autre solution

  4. #4
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    Le problème vient plutôt du XML... Le caractère & est interdit, ton fichier ne doit pas parser et c'est peut-être de là que vient le problème...

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour JakoJako,

    mon fichier XML parse bien pourtant et je ne peux pas "supprimer" ces &.

    J'ai trouvé ça qui rejoint ce que tu dis :

    CDATA - (Unparsed) Character Data

    The term CDATA is used about text data that should not be parsed by the XML parser.

    Characters like "<" and "&" are illegal in XML elements.

    "<" will generate an error because the parser interprets it as the start of a new element.

    "&" will generate an error because the parser interprets it as the start of an character entity.

    Some text, like JavaScript code, contains a lot of "<" or "&" characters. To avoid errors script code can be defined as CDATA.

    Everything inside a CDATA section is ignored by the parser.

    A CDATA section starts with "<![CDATA[" and ends with "]]>":
    Je vais voir ce que je peux faire avec ça.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bon le problème est résolu pour les "&", merci de m'avoir aidé car je pensais pas que ça venait de là.

    Sujet résolu donc, merci à tous.

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

Discussions similaires

  1. [PL/SQL] Chaine de caractères avec une quote
    Par Titouf dans le forum Oracle
    Réponses: 2
    Dernier message: 15/05/2006, 14h36
  2. [SQL-Server] Problèmes de guillemets et quotes dans un INSERT
    Par gregb34 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/05/2006, 09h40

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