Bonjour,
Vu que je viens de faire la même recherche, voici :
Le code n'est pas de moi, l'objectif était le même ne pas s'arrêter à la première erreur (hormis erreur de structure)
Merci à la bonne âme qui a placé cela sur internet
Bye,

import org.xml.sax.*;
import org.xml.sax.helpers.*;
import javax.xml.parsers.*;
import java.io.*;
import java.util.*;
public class Parser extends DefaultHandler{
protected String message(SAXParseException e){
String message = " line "+e.getLineNumber()+", column "+e.getColumnNumber()+"\n";
message += e.getMessage()+"\n";
// message += "Public id : "+e.getPublicId()+"";
// message += "System id : "+e.getSystemId();
return message;
}
protected void printSAXException(SAXParseException e){
System.out.println(message(e));
if(e.getException() != null){
e.getException().printStackTrace();
}
}
public void warning(SAXParseException exception) throws SAXException{
System.out.print("[Warning]");
printSAXException(exception);
}
public void error(SAXParseException exception) throws SAXException{
System.out.print("[Error]");
printSAXException(exception);
}
public void fatalError(SAXParseException exception) throws SAXException{
String message = "[Fatal error]";
message += message(exception);
SAXException se = new SAXException(message, exception);
throw se;
}
public static void main(String argv[]){
try{
SAXParserFactory fabrique = SAXParserFactory.newInstance();
fabrique.setValidating(true);
SAXParser parseur = fabrique.newSAXParser();
File fichier = new File(argv[0]);
DefaultHandler handler = new Parser();
parseur.parse(fichier,handler);
}catch(ParserConfigurationException pce){
System.out.println("Erreur de configuration du parseur");
}catch(SAXException se){
System.out.println(se.getMessage());
}catch(IOException ioe){
System.out.println("Erreur d'entrée/sortie");
}
}
}