Probleme d'ecriture d'un fichier xml UTF-8

Signaler
Messages postés
11
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
20 novembre 2008
-
Messages postés
11
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
20 novembre 2008
-
Bonjour,

J'utilise l'objet MXXMLWriter40 pour créer un XML, après serialisation , j'utilise DOMDocument40 pour créer le fichier XML.
Malgrès la définition de l'encoding en UTF-8 via la propriete Mxxmlwriter.encoding = "UTF-8", j'ai toujours mon fichier XML encodé en UTF-16.
Avez vous la solution pour généré du XML UTF-8 ?

Merci d'avance de vos réponses.

2 réponses

Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
tu aurais un peu de code a nous donner ?
Messages postés
11
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
20 novembre 2008

Voila le code:

'CREATION FICHIER XML


'Creation objet XML writer


Dim writer As MXXMLWriter40, content As IVBSAXContentHandler


Set writer = New MXXMLWriter


Set content = writer


Dim attribut As New SAXAttributes


'ecriture en tete xml


writer.omitXMLDeclaration = False


'ecriture avec tab et retour chariot


writer.indent = True


writer.standalone = False


'Creation en tete


content.startDocument


'pas d'attribut


attribut.Clear


'ecrire un attribut


'attribut.addAttribute "", "", "name", "", "value"


'creation balise


content.startElement "", "", "CONTENT", attribut


content.startElement "", "", "ID_EXTERNE", attribut


content.characters UTF8_Encode("id_externe")


.......Ecriture des balises..............





'pied xml


content.endDocument


'Serialise


writer.flush


writer.encoding = "UTF-8"


'Création fichier XML


Dim XML_dom As DOMDocument40


Set XML_dom = New DOMDocument40


XML_dom.validateOnParse = True


XML_dom.async = False


XML_dom.loadXML (writer.output)


'Return validation results in message to the user.


If XML_dom.parseError.errorCode <> 0 Then


MsgBox "erreur "


Else


XML_dom.save App.Path & "\test.xml"


End If


Set XML_dom = Nothing


Set content = Nothing


Set writer = Nothing


Set attribut = Nothing