Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Transformation ascii en XML codage UTF-8

3 réponses
Avatar
Paul B
Bonjour tout le monde,

Je dois transformer un fichier ascii et le mettre sous format XML, en le
codant utf-8.
Y a t'il quelqu'un qui peut me donner des conseils ou m'indiquer un lien.

Un gros merci.

Paul

3 réponses

Avatar
Fred
Dans son message 7b_pe.14058$
Paul B nous dit :

Bonjour tout le monde,

Je dois transformer un fichier ascii et le mettre sous format XML, en
le codant utf-8.
Y a t'il quelqu'un qui peut me donner des conseils ou m'indiquer un
lien.
Un gros merci.

Paul



Bonjour,
Il te faut utiliser le composant MSXML pour faire plus simple.
Rien ne t'empêche en effet de le créer "à la main" avec la classique
fonction Print si l'origine est un fichier ASCII (j'entends ASCII pur : 7
bits donc pas d'accents). Ou bien même d'encoder les caractères mais là
c'est moins évident.
Donc pour en revenir à la première solution, voici un petit exemple de ce
que l'on peut faire :
(c'est du vbs à l'origine mais j'essaie de le rendre compatible VB)
8<------------------
'On crée le document
Set oXmlDoc = CreateObject("MSXML2.DOMDocument")
'On crée un nouvel élément xml de nom "racine"
Set oElement = oXmlDoc.CreateElement("racine")
'On crée un attribut pour ce nouvel élément
oElement.SetAttribute "monAttribut", "La valeur de mon attribut"
'On utilise ce premier élément comme racine du document XML
Set oXmlDoc = oElement
'On crée la ligne d'en-tête spécifiant l'encodage
Set oProcInst = oXmlDoc.createProcessingInstruction _
( "xml", "version=""1.0"" encoding=""utf-8""")
'On insère la ligne d'en-tête ... en tête
oXmlDoc.insertBefore oProcInst, oXmlDoc.documentElement
'On crée un nouvel élément
Set oElement = oXmlDoc.CreateElement("enfant")
'On lui met un peu de texte dedans
oElement.Text = "Contenu de l'élément ""enfant"""
'on l'ajoute sous la racine
oXmlDoc.document.AppendChild oElement
'On enregistre
oXmlDoc.Save "test.xml"
8<--------------------

Voila de quoi commencer.
La référence ici :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/b24aafc2-bf1b-4702-bf1c-b7ae3597eb0c.asp

--
Fred
Avatar
Fred
Dans son message %
Fred nous dit :

'On utilise ce premier élément comme racine du document XML
Set oXmlDoc = oElement



Attention boulette ! Il faut lire :
Set oXmlDoc.documentElement = oElement


--
Fred
Avatar
Paul B
Je vais commencer avec ce que tu m'envoies, ca m'aide vraiment.

Un gros merci.

Paul


"Fred" a écrit dans le message de news:
%
Dans son message 7b_pe.14058$
Paul B nous dit :

Bonjour tout le monde,

Je dois transformer un fichier ascii et le mettre sous format XML, en
le codant utf-8.
Y a t'il quelqu'un qui peut me donner des conseils ou m'indiquer un
lien.
Un gros merci.

Paul



Bonjour,
Il te faut utiliser le composant MSXML pour faire plus simple.
Rien ne t'empêche en effet de le créer "à la main" avec la classique
fonction Print si l'origine est un fichier ASCII (j'entends ASCII pur : 7
bits donc pas d'accents). Ou bien même d'encoder les caractères mais là
c'est moins évident.
Donc pour en revenir à la première solution, voici un petit exemple de ce
que l'on peut faire :
(c'est du vbs à l'origine mais j'essaie de le rendre compatible VB)
8<------------------
'On crée le document
Set oXmlDoc = CreateObject("MSXML2.DOMDocument")
'On crée un nouvel élément xml de nom "racine"
Set oElement = oXmlDoc.CreateElement("racine")
'On crée un attribut pour ce nouvel élément
oElement.SetAttribute "monAttribut", "La valeur de mon attribut"
'On utilise ce premier élément comme racine du document XML
Set oXmlDoc = oElement
'On crée la ligne d'en-tête spécifiant l'encodage
Set oProcInst = oXmlDoc.createProcessingInstruction _
( "xml", "version=""1.0"" encoding=""utf-8""")
'On insère la ligne d'en-tête ... en tête
oXmlDoc.insertBefore oProcInst, oXmlDoc.documentElement
'On crée un nouvel élément
Set oElement = oXmlDoc.CreateElement("enfant")
'On lui met un peu de texte dedans
oElement.Text = "Contenu de l'élément ""enfant"""
'on l'ajoute sous la racine
oXmlDoc.document.AppendChild oElement
'On enregistre
oXmlDoc.Save "test.xml"
8<--------------------

Voila de quoi commencer.
La référence ici :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/b24aafc2-bf1b-4702-bf1c-b7ae3597eb0c.asp

--
Fred