parser avec SAX.... [XML] - Java - Programmation
Marsh Posté le 18-02-2004 à 10:05:42
Si tu surchargeais d'autre methodes, comme warning(), error() ou fatalError() en affichant un piti message ?
Marsh Posté le 18-02-2004 à 13:37:17
effectivement j'ai une fatalError...
seulement je capte pas trop le contenu de l'erreur :
org.xml.sax.SAXParseException: Erreur de conversion de caractère : "Malformed UTF-8 char -- is an XML encoding declaration missing?" (le numéro de ligne peut être trop bas).
si quelqu'un a une idée...
le probleme c'est que dans la meme application je parse exactement le meme fichier avec la meme methode et il ne me met pas d'erreur ... c pour ca que je comprends pas...
Marsh Posté le 18-02-2004 à 13:48:42
Le message d'erreur etait pourtant explicite!
Album Vidéo
Tu indiques que tu es en UTF-8, et tu utilise quelque chose qui n'est pas en UTF-8.
A+,
Marsh Posté le 18-02-2004 à 13:51:19
naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaannnnn....
du coup c koi l'encoding pour supporter les accents?
Marsh Posté le 18-02-2004 à 13:55:03
j'essaie iso-8859-1 pour voir...
et ya aussi un truc que je comprends toujours pas c'est que je fais exactement pareil a un autre endroit dans mon application... et ca marche meme avec les accents...
Marsh Posté le 18-02-2004 à 13:56:24
Ce serait plutot a toi de te poser la question: En quel encoding sont les données que je fournis au parser.
Parce que le seul qui puisse y repondre c'est toi: je ne sais pas d'ou viennent tes données.
A+,
Marsh Posté le 18-02-2004 à 14:02:11
ben les données c'est des données textes en francais... du latin koi...
je vais aller voir ca sur le site officiel...
merci de ton aide
Marsh Posté le 18-02-2004 à 14:31:14
c'est bizarre ca me fait pareil avec iso8859-1... le meme type de message d'erreur :
Code :
|
pourtant l'encoding pour pouvoir parser les accents farncais c bien iso-8859-1
Marsh Posté le 18-02-2004 à 14:47:19
T'as essayé avec le nom tout en majuscule: ISO-8859-1 ??
C'est ainsi que ca doit etre d'apres la spec XML.
A+,
Marsh Posté le 18-02-2004 à 15:12:55
oui j'ai essayé mais ca me met toujours le meme message d'erreur...
Marsh Posté le 18-02-2004 à 16:54:36
je crois que c'est un gros probleme en fait ! j'ai regardé partout sur le net et peu ou pas de solution !
Marsh Posté le 18-02-2004 à 20:12:49
Le problème vient que tu n'es pas en ISO-latin-1 (iso-8859-1) partout dans ton appli ou ton XML je pense (0xb8 est un caractère en UTF-8). A vérifier .......
Marsh Posté le 19-02-2004 à 15:18:43
ok.... mais honnetement je trouve un truc vraiment incomprehensible : j'ai STRICTEMENT et EXACTEMENT le MEME code dans une autre classe de mon Appli et le MEME fichier est parsé nikel ! j'arrive a trouver des elements dedans etc...
ca me soule j'ai jamais vu ca... si ca continue je vais me pendre !!!
Pourtant je cherche a comprendre mais y doit y avoir quelque chose qui m'echappe la...
PS : pour info j'ai essayé de convertir toutes mes String en UTF-8 via ca :
Code :
|
Mais j'ai toujours la meme SAXParseExcpetion :
Code :
|
Marsh Posté le 19-02-2004 à 17:44:22
anapajari a écrit : c'est pas plutot le \A qui merdoie? |
Mais oui!
Faut faire vachement gaffe aux anti-slashs dans les XML.
Regarde de ce coté la, faut bien configurer la parseur.
Marsh Posté le 19-02-2004 à 19:43:11
??? a ce propos j'utilise un SAXParser .. il vaut mieux utiliser Xerces? pasque finalement je me demande a koi sert xerces vu que on peut parser avec SAXParser...
sinon pour le \ je vais voir comment configurer le Parser... si c'est ca je ne saurais comment vous remercier.. !!!
edit : c'est le Handler qu'il faut configurer ou le parseur lui meme? pasque la je regarde les mrthodes et je vois pas grand chose...
Marsh Posté le 19-02-2004 à 21:14:53
yo c spi a écrit : |
En xml, un \ est un \.
A+,
Marsh Posté le 20-02-2004 à 00:22:28
Je confirme ... ca marche tres bien en UTF 8 !!! pas de probleme a priori meme avec les accents...
Mais le truc fou c'est que je fais le meme traitement a un autre endorit de mon appli.... les meme parametres passés a mon Handler etc... je suis SUR que c'est le meme code j'ai meme refait un copier/coller....
Vous avez deja vu ca du code qui marche a un endroit de l'appli et qui ne marche pas a un autre endroit ?
Je parse un fichier dans une classe, pas d'exceptions
Je parse ce meme fichier dans une autre classe (meme code pour ceux qui auraient pas suivi), fatalError ...
c'est décidé je passe cette nuit et je me pends
Marsh Posté le 17-02-2004 à 21:27:15
Je vous expose mon probleme :
je veux parser un fichier XML qui a cette tete :
j'utilise donc SAX avec le code suivant (j'ai viré les try/catch vu ke ca ne me sort pas d'exceptions...:
la classe DefaultAlbumHandler :
donc arrivé la il me dit qu'il lit le fichir album (donc on est rentré dans le document XML
Mais le probleme c'est qu'il me trouve pas d'element puisqu'il ne m'affiche pas "on a trouvé un élement"
Du coup je comprend pas puisqu'il y a bien un element dans mon fichier !
Je croyais par ailleurs qu'il fallait utiliser xerces mais si il me dit qu'il rentre dans le document il devrait aussi trouver les elments ...?
Merci de votre aide...
Message édité par spitagor le 18-02-2004 à 01:42:27