Bonjour,
Voilà mon souci : J'utilise un StringWriter passé dans un XmlTextWriter pour écrire une chaîne XML qui ressemble à ceci :
Et à la fin ma méthode me retourne ce XML dans une String.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <Export> <Row attr1="valeur" attr2="valeur" attr3="valeur"> <Row attr1="valeur" attr2="valeur" attr3="valeur"> <Row attr1="valeur" attr2="valeur" attr3="valeur"> ... </Export>
Tout ça fonctionne bien, sauf que si je copie cette chaîne dans un fichier (ou que depuis le code je l'écris directement dans un fichier), lorsque je souhaite ouvrir ce fichier dans un éditeur XML j'ai une erreur d'encodage "Marque d'ordre d'Octet unicode manquante"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Dim StringW as new System.IO.StringWriter Dim x As XmlTextWriter = New XmlTextWriter(StringW) x.WriteStartDocument() 'Traitement creation du XML x.WriteEndDocument() x.Close() StringW.Close() Return StringW.ToString
J'ai essayé de changer l'encodage en passant d'UTF-16 à UTF-8 mais là j'ai une autre erreur au niveau d'un caractère "ô" de Rhône-Alpe qui est écrit dans un attribut (attr="Rhône-alpes"). En fait ça plante sur le premier caractère accentué du flux.
Il semblerait que l'UTF-16 soit e bon encodage mais alors je ne comprend pas la raison du "Marque d'ordre d'Octet unicode manquante"
Merci de votre aide.
Partager