JDOM caractères spéciaux

Résolu
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 - 15 févr. 2008 à 17:53
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 - 16 févr. 2008 à 12:31
Bonjour a tous.
Pour parser des fichiers XML, j'utilise l'api jdom. J'ai créer un fichier dans lequel se trouve des caractères tel que ">>" "<<" "&", ...
Lorsque je parse ce fichier, jdom m'indique des erreurs.
Voici un exemple de ligne du fichier : <commande cmd = "&"></commande>
Voici l'erreur associé à cette commande : The entity name must immediately follow the '&' in the entity reference.
Dans mon programme, je récupère la commande (cmd) et je m'en sers comme patern. Mais apparemment là c'est avant d'utiliser la commande que l'exception se produit.

Si vous avez des suggestions pour éviter ce problème.. (comment noté le caractère, ...)
merci.

7 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
15 févr. 2008 à 19:12
Salut,

C'est que ton fichier xml est mal formé : ces caractères ne doivent pas être présent directement dans un fichier xml : il faut les remplacer par les codes HTML correspondants !
______________________________________
DarK Sidious
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 févr. 2008 à 10:53
Salut,

Il me semble pas que le "+" soit un caractère interdit en XML !

Il me semble que seul les caractères : <, &, ', et " sont interdits en XML.

Va lire ceci pour plus de détail :
http://www.journaldunet.com/developpeur/tutoriel/xml/041027-xml-caracteres-speciaux.shtml
______________________________________
DarK Sidious
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 févr. 2008 à 12:23
Salut,

Quel encodage utilises-tu ?

Essaye de voir avec un outil dédié à l'écriture d'un fichier xml si celui-ci est bien correct (outil du style spy-xml).
______________________________________
DarK Sidious
3
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
16 févr. 2008 à 12:31
J'utilise JCreator (qui permet d'éditer egalement des fichiers java). L'encodage et ISO-8859-1 (je l'ai remplacé après avoir l'article que tu m'a passé). Je pense avoir trouver la solution. Il suffit d'indiquer que c'est LE caractère que l'on veut insérer dans le patern (avec le "") : pour le "+" ca va donner "\&#43;"

merci de ton aide.
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
15 févr. 2008 à 19:35
Merci.
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
15 févr. 2008 à 20:36
Une derniere petite chose, j'ai valider qu'après avoir essayer quelque caractères.
Il se trouve que certians caractère n'ont pas de code html (ou alors il n'est pas donné) .. :s comment on fait ?
Par exemple le "+". J'ai remplacer par le code ISO mais j'ai toujours une erreur (comme si le caractère était écrit en tout lettre (&#43 -> +).

merci.
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
16 févr. 2008 à 11:59
Slt.
Tu dois surement avoir raison. Car même en changant l'encodage du fichier j'obtient toujours une exception.
Ce qui m'étonne c'est qu'elle ne vient plus/pas du parseur JDOM mais du Patern: Exception in thread "AWT-EventQueue-0" java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 0
Savez vous si il est possible d'éviter ce problème ? Faut-il a nouveau changer l'encodage ?

merci.
0
Rejoignez-nous