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

Format d'échange (XML, JSON...) Java Discussion :

remplacer les caractéres spéciaux


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 96
    Points : 40
    Points
    40
    Par défaut remplacer les caractéres spéciaux
    Bonjour,

    dans mon fichier xml j'ai l'élément adresse qui peux contenir des caractéres spéciaux
    j'aimerai remplacer automatiquement les caractéres
    comment je peux faire ca??



    MERCI POUR VOTRE AIDE

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Jakarta propose la classe StringEscapeUtils et en particulier la méthode escapeHtml.

    Jtidy propose la classe HtmlEncode et en particulier la méthode encode.

    Au vu de la documentation, ces deux API me semblent convenir pour ce que tu veux faire, mais personnellement je ne les ai jamais utilisées.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 96
    Points : 40
    Points
    40
    Par défaut
    mais je crois qu'il faut juste une configuration au niveau du xsd sans untilisé ces classes.
    chose que je ne sais pas comment le faire (configuration) .

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Euh...

    Tu génères des classes Java à partir d'un fichier XSD, et tu voudrais au moment de la transformation xsd=>code échapper les caractères spéciaux, c'est bien ça ?

    Pour effectuer cette transformation:
    - soit c'est du code custo, et donc tu peux insérer dans ton code le traitement proposé plus haut
    - soit tu utilises une API qui fait ça automatiquement, et dans ce cas tu devrais nous dire de quoi il s'agit si tu espères qu'un connaisseur te guide vers les infos que tu n'as pas réussi à trouver dans la doc

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 96
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    ce fichier xml contient un element qui peux contenir des informations et des caractére spéciaux comme < , >

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Citation Envoyé par vanesa Voir le message
    je prépare un fichiers xml qui [...] contient un element adresse qui peux contenir des informations et des caractére spéciaux comme < , >, &, ' (cote), " (guillemet)
    [...]
    le fichier xml génére une erreur comme quoi il n'est pas valide.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ADRESSE>VILLE & ' >""</ADRESSE>
    Donc en fait tu essaies d'utiliser un fichier XML non valide.
    Le problème n'est pas dans la transformation appliquée à ton XML mais dans ton fichier XML lui-même.

    Comment "prépares"-tu tes fichiers ?

    Si tu les écris à la main, eh bien c'est ta faute, tu n'as qu'à écrire des fichiers XML valides, nan mais oh (aïe si tu en as déjà écrit plein, il va falloir tout relire...)

    S'ils sont générés par un programme, il est bien sûr possible d'échapper les caractères spéciaux avant d'écrire dans le fichier[*], encore faut-il que tu nous donne plus de précisions.

    [*] d'ailleurs, si tu utilisais une API de génération de fichier XML, elle ne génèrerait que des fichiers valides, et donc elle échapperait les caractères spéciaux quand il le faut...

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 96
    Points : 40
    Points
    40
    Par défaut
    non je génére mon xml,un petit fichier avec du ALTOVA SMLSpy.

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Il est plutôt curieux qu'un éditeur spécialisé dans le XML te laisse écrire des choses aussi affreuses que <ADRESSE>VILLE & ' >""</ADRESSE>

    Enfin, il me semble évident pour ton problème qu'il faut commencer par avoir un fichier XML valide, autrement tu ne peux pas espérer qu'il soit interprété correctement.
    La solution la plus bête consiste à taper à la main des "&lt;" à la place de "<", etc... Ensuite j'imagine que ton éditeur, s'il est bien fait[*], devrait t'aider dans cette tâche[**], mais je ne connais pas du tout ce logiciel et puis on est largement sorti du cadre de Java

    [*] je ne comprends pas comment il peut te laisser écrire des fichiers non valides sans aucun avertissement
    [**] voire (on peut toujours rêver) la faire pour toi de façon transparente : affichage à l'écran de "<" lisible par les humains, écriture dans le fichier de "&lt;" lisible par les machines... bon, je dis ça, je ne sais pas s'il est effectivement capable de le faire, mais je trouve que ça relativement logique et ça ne m'étonnerait pas que des éditeurs XML le fassent...

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Il faut utiliser une section CDATA dans ces cas là : http://www.w3schools.com/XML/xml_cdata.asp

Discussions similaires

  1. Remplacer les caractères spéciaux dans xml
    Par panda31 dans le forum Développement de jobs
    Réponses: 14
    Dernier message: 19/10/2011, 10h53
  2. Remplacer les caractères spéciaux dans un prénom(Regex)
    Par sajodia dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 17/05/2011, 18h19
  3. remplacer les caractères spéciaux
    Par DeveloppeurWeb dans le forum VB.NET
    Réponses: 9
    Dernier message: 24/02/2011, 12h51
  4. remplacer les caractères spéciaux
    Par Invité dans le forum Servlets/JSP
    Réponses: 25
    Dernier message: 05/12/2008, 14h56
  5. Réponses: 3
    Dernier message: 18/02/2008, 15h05

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