Encodage des caractères "étranges" dans un flux

Toutes les astuces concernant le XML

Encodage des caractères "étranges" dans un flux

Messagepar Gob0 » 12 Sep 2008 à 09:50

Dans un flux XML, les caractères autres que lettres et chiffres doivent être encodés.
Le format doit être "&#xxx;" où xxx est le code ASCII du caractère.

ex: "&# 34;" représente une guillemet.
[jai mis un espace avant le 34 parce que sinon le forum remplace l'exemple par le bon caractère -il est malin ce forum :lol:- ]


Voici un exemple Java pour encoder un caractère:

[syntax="java"]private String encodageXML(char carCur) {
int inVal;
Character cCur;

inVal = Integer.parseInt(Integer.toString(carCur));
if (((inVal>=48) && (inVal<=57)) || ((inVal>=65) && (inVal<=90)) || ((inVal>=97) && (inVal<=122))) {
cCur = new Character(carCur);
return cCur.toString();
} else {
return "&#" + Integer.toString(carCur) + ";";
}
} [/syntax]


ndr: je vais essayer de proposer une version LS bientôt :wink:
Avatar de l’utilisateur
Gob0
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 23 Août 2006 à 09:19
Localisation : Lausanne

Retour vers XML