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
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
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.
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) .
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
Bonjour,
ce fichier xml contient un element qui peux contenir des informations et des caractére spéciaux comme < , >
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...
non je génére mon xml,un petit fichier avec du ALTOVA SMLSpy.
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 "<" à 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 "<" 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...
Il faut utiliser une section CDATA dans ces cas là : http://www.w3schools.com/XML/xml_cdata.asp
Partager