Retrouver le numero de ligne d'un fichier XML parsé

lara0o Messages postés 15 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 15 décembre 2005 - 14 nov. 2005 à 14:47
lara0o Messages postés 15 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 15 décembre 2005 - 15 nov. 2005 à 11:31
Bonjour,

Dans mon projet, je viens tester, avec des regles précises, les valeurs des éléments d'un fichier xml que j'ai parsé avec un SAXBuilder. Or si je détecte une erreur, j'aimerais, à partir de l'élément erroné, afficher un message d'erreur avec le nom de l'element (ca ok!), et le numero de la ligne correspondante dans le fichier xml, pour que l'utilisateur retrouve facilement le problème.
Quelqu'un voit comment je pourrais faire?

4 réponses

super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
14 nov. 2005 à 15:19
alors tout dépend de l erreur que tu cherche a avoir.

est ce que c est une erreur de parsing genre doc mal formé... ou c est une erreure propre a tes regles ??
0
lara0o Messages postés 15 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 15 décembre 2005
14 nov. 2005 à 15:53
Non, c'est une erreur propre a mes regles. La validation, c'est juste pour le contexte.
En fait, le probleme se reduit à savoir comment retrouver, à partir d'un Element, la ligne correspondante dans le fichier Xml associé.
Plus dur...
0
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
14 nov. 2005 à 16:45
alors j ai regardé parce que la question a l air tout con mais en fait c po si evdent que ca,
si j en crois la javadoc tu pourrai faire un truc du style (j ai compri a 1ere vue que tu parsait ton doc en Dom) mais j suis pas sur que ca marche

Document doc = (new JDomSource(tonElement)).getDocument();
JDomParseException exception = new JDomParseException("erreur regle1", new ErrorRegle1(),doc);

// ErrorRegle1 est une exception que t as par exemple codé
//apres tu throw ton exception et tu peux utiliser

exception.getLineNumber();

ouf...

le seul truc c est qu il faut bien que la 1ere ligne du code que j ai donné rende un partialDocument sur l element passé mais bon y a pas de raison que ca le fasse po
0
lara0o Messages postés 15 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 15 décembre 2005
15 nov. 2005 à 11:31
Merci, je teste ca des cet aprem. Merci bcp

0o.
0
Rejoignez-nous