Question

J'ai un problème avec un analyseur XML SAX. Je veux analyser un fichier xml qui est évidemment pas valable (je reçois un ExpatParser $ ParseException: À la ligne 5, colonne 169: pas bien formé (jeton non valide)). Je sais que ce qui est faux, mais le fichier xml ist n'a pas été créé par moi ... donc je ne peux pas le changer.

Maintenant, je veux gérer cette erreur dans mon DefaultHandler. Mais ni erreur () ni fatalError () ni avertissement () est appelée ...

Puis-je interrompre en quelque sorte le processus d'analyse, indiquer à l'analyseur quoi faire avec ce morceau de XML non valide et continuer l'analyse syntaxique ???

Merci, JPM

Était-ce utile?

La solution

Je suppose que ce SAXParseException est un d'erreur fatale que l'analyseur SAX ne peut pas récupérer. Dans ce cas, vous avez probablement besoin de corriger la mauvaise étiquette avant d'essayer de l'analyser (comme Robert suggère dans son commentaire).

Vous pouvez regarder dans Java Regex pour corriger le mauvais état connu dans le fichier XML, par exemple
Regex pour citer XML unquoted attributs

Pour mémoire, je suis pas plaidant en utilisant regex à fait parse XML !

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top