8
votes

Désactiver la journalisation dans Java Xerces ("[Erreur fatale]: 1: 1: Le contenu n'est pas autorisé dans Prolog.")

Mon application s'attend à ce qu'elle essaie parfois d'analyser des documents XML non valides. Je sais actuellement la "SaxparseXception: le contenu n'est pas autorisé dans prolog" " Exception, qui fonctionne bien. Cependant, XERCES ressent toujours la nécessité d'imprimer son propre message à la console:

[Fatal Error] :1:1: Content is not allowed in prolog.


0 commentaires

3 Réponses :


5
votes

Je crois que c'est l'impression sur system.out ou system.err par défaut. Il existe une interface d'erreur que vous pouvez définir sur l'analyseur si vous interagissez directement avec les classes XERCES.

Sinon, vous pouvez essayer de définir la propriété org.apache.xerces.impl.Constants.error_reporter_property sur le saxparser avec une instance de XMLERRORPORTER


0 commentaires

12
votes

Je viens de voir récemment le même besoin. Réglage de la tâche d'erreur sur NULL supprime la ligne d'impression erronée fatale.

parser.setErrorHandler(null);


0 commentaires

3
votes

L'équivalent lors de l'utilisation de org. w3c.dom.ls.lsparser est xxx

J'ai eu ce problème aujourd'hui et il s'est avéré être un Paramètre de configuration standard que j'ai trouvé seulement après avoir lu vos réponses ici. Merci.


0 commentaires