Codage binaire dans fichier XML [Résolu]

Signaler
Messages postés
130
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
8 juillet 2008
-
Messages postés
339
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
25 mars 2009
-
Bonjour à tous,


Mon but est de pouvoir écrire un XML, et dans un des attributs, définir les data binaire d'un fichier (image, ou exe etc...).


Pour le moment, j'utilise un XMLDoc, dans lequel je créer mes noeuds et attributs.
A un moment, j'ai un noeud du style:
<File filename="monfichier.too" data="....."/>


Dans data, j'aimerais donc mettre le contenu binaire du fichier en question. Aussi, par la suite, j'aimerais récupérer ces data, pour récréer le fichier.


Pour le moment, je n'ai trouver que la poste avec XMLTextWriter et la fonction WriteBase64. Cependant, je n'arrive pas à utiliser cela avec mon XMLDoc.


Est-ce que vous avez une idée?  Et donc également pour la récupération de l'info.
PS: le xml est une trame souvent, et pas forcément ujn fichier. En gros, c'est limite une notion de transfert de fichier par XML.


Merci

2 réponses

Messages postés
339
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
25 mars 2009
5
Ha oui pour récupérer le tableau de bytes data[] de ton fichier monfichier.too, utilise un BinaryReader et la méthode ReadBytes.
Messages postés
339
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
25 mars 2009
5
L'encodage 64bits est la SEULE possibilité viable pour écrire du binaire sans perte de données.

XmlNode node = tonxml.SelectSingleNode("/XML/truc/muche/File");

//lecture du XML
byte[] data = Convert.FromBase64String(node.Attributes["data"]);

//ecriture dans le XML
string str = System.Convert.ToBase64String(data);
node.Attributes["data"] = str;

C'est pas difficile