Bonjour,

J'ai un soucis lorsque je veux récupérer un fichier XML contenant des caractères spéciaux qui ont été parsés. Ainsi, les caractères tels que < ou > passent, mais des caractères comme € ou encore è me génèrent une erreur.

Voici l'erreur renvoyée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
[Fatal Error] :4:487: The entity "egrave" was referenced, but not declared.
[nov. 16 10:23:46] ERROR (METUtilities.java:84) - org.xml.sax.SAXParseException: The entity "egrave" was referenced, but not declared.

La ligne 84 appelle une méthode contenant ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
if (jeuCaracteres != null)
				chaineXml = new String(chaineXml.getBytes(), jeuCaracteres);
			javax.xml.parsers.DocumentBuilderFactory documentBuilderFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
			// Rajout 17.10.2006 : Permet la gestion des include en xml. (les deux lignes suivantes)
			documentBuilderFactory.setXIncludeAware(true);
			documentBuilderFactory.setNamespaceAware(true);
			javax.xml.parsers.DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
			org.w3c.dom.Document document = documentBuilder.parse(new java.io.ByteArrayInputStream(chaineXml.getBytes()));
			return document.getDocumentElement();
Avez vous une idée ? Problème de version de SAX ou de DOM ?

Merci beaucoup.