philoulheinz
Messages postés6Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention21 octobre 2006
-
18 déc. 2004 à 19:07
XorXXX
Messages postés1Date d'inscriptionlundi 27 août 2007StatutMembreDernière intervention27 août 2007
-
27 août 2007 à 19:19
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 22 déc. 2004 à 15:45
:big) Neodante :big)
Pour faire cela, utilise un parseur. En java, c'est pas ça qui manque ...
Pour utiliser ceux en standard avec le JDK je vais te retourner vers le J2EETutorial qui comporte 3 ou 4 chapitres sur XML et comment faire pour parser un fichier XML. Utilise soit DOM soit SAX, avec une préférence pour SAX si tu veux juste extraire quelques données ...
J2EETutorial (chapitre 4 -> 6 par exemple !):
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/ @+
kaouther_dridi
Messages postés1Date d'inscriptionlundi 23 juillet 2007StatutMembreDernière intervention18 août 2007 18 août 2007 à 10:21
bonjour,
j'ai un esembles de fichiers xml et leurs schémas xsd et j'aimerais avoir une classe java avoir qui génère la validation de fichier xml par rapport à son xsd mais le problème que je veux bien que la validation ne s'arrête pas dés la première erreur mais elle contenue le processus de la validation et ensuite elle me rend toutes les erreurs
chose qui n'est pas possible avec sax et dom
XorXXX
Messages postés1Date d'inscriptionlundi 27 août 2007StatutMembreDernière intervention27 août 2007 27 août 2007 à 19:19
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,
[javascript:Insert_Emoticon('/imgs2/smile_wink.gif'); ]
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");
}
}
}