Bonjour,

Voila je vais essayer de vous expliquer mon problème:

Dans une page ASP je prends en entrée un fichier XML que je retourne dans flux XML en sortie de ma page:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
	' chargement du fichier XML 
	oXML.load(strNomFichierXml)
	call gererErr("")
 
	Response.ContentType="text/xml"
	Response.Expires = "-1" 
	Response.CharSet ="ISO8859-1"
	Response.write 
"<?xml version='1.0' encoding='ISO-8859-1' ?>" 
             ' affichage du flux XML
	Response.Write oXML.xml
	Response.End
Mon fichier XML ne possède pas d'entete et est du style:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<contexte>
<nom>titi</nom>
<prenom>titi</prenom>
...
</contexte>
En sortie j'ai donc bien mon XML affiché comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
  <?xml version='1.0' encoding='ISO-8859-1' ?>
- <contexte>
  <nom>toto</nom> 
  <prenom>toto</prenom> 
...
  </contexte>
Mon problème intervient si je trouve un accent dans le fichier XML pris en entré. en effet, la fonction 'Response.Write oXML.xml' ne peut pas afficher le XML puisqu'a ce stade la l'encodage n'est pas spécifié dans la page XML en entrée, cette encodage n'est déclaré qu'après pour l'affichage du flux XML de sortie ....
J'ai alors desuite pensé a rajouter l'encodage dans les fichiers XML d'entrée, en rajoutant en entete:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
"<?xml version='1.0' encoding='ISO-8859-1' ?>"
Et la plus de problème d'accent, mais le fichier XML de sortie n'est plus formaté correctement, j'ai l'ecriture suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<?xml version="1.0" encoding="ISO-8859-1" ?> 
  <?xml version="1.0" ?> 
- <contexte>
...
  </contexte>
Alors que je ne veux pas l'affichage de la 2eme balise de parametrage, le fichier n'etant plus formaté correctement mon traitement n'est plus valable.
J'espere avoir été assez clair.
Merci pour vos lumieres.