Bonjour,
Voici mon problème : je dois parser des fichiers XML assez gros, décrivant une suite de "documents", chaque documents ayant des informations, etc.
Il se trouve que j'utilise SAX de la manière suivante:
Dans l'un de mes fichiers XML d'entrée, sur la donnée de l'un des documents, j'ai cette suite de caractère : (OAM&P);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 XMLReader reader = null; SAXParser parser = null; UEMEntityResolver myEntityRes = new UEMEntityResolver(getConfig()); FileInfoObj myFileInfoObj = null; BasicHandler myBHandler = new BasicHandler(getConfig(), "Cp-500"); final SAXParserFactory factoryP = SAXParserFactory.newInstance(); try{ factoryP.setValidating(false); parser = factoryP.newSAXParser(); // --- Initialize reader reader = parser.getXMLReader(); reader.setContentHandler(myBHandler); // --- Error handler qui récupère les erreurs et les enrichies reader.setErrorHandler(myBHandler); reader.setEntityResolver(myEntityRes); ... reader.parse(...); }catch(....){ // Traitement des exceptions }
Mon programme part en Fatal Error avec le message suivant:
J'aimerai savoir s'il y a possibilité de passer outre cette fatal error, à priori non, du moins c'est ce que je vois après avoir tenté ça dans mon error handler, et la javadoc précise qu'il n'est de toute manière pas possible d'empêcher l'arrêt du parser une fois ce type d'erreur levée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 org.xml.sax.SAXParseException: The reference to entity "P" must end with the ';' delimiter.
Existe-t-il un autre type de parser, similaire à SAX, mais au sein duquel il est possible de gérer les fatal error ?
En vous remerciant pour votre aide.
Cdlt.
Partager