Codage binaire dans fichier XML [Résolu]

Messages postés
130
Date d'inscription
mardi 21 janvier 2003
Dernière intervention
8 juillet 2008
- 24 avril 2008 à 11:32 - Dernière réponse :
Messages postés
342
Date d'inscription
dimanche 26 janvier 2003
Dernière intervention
25 mars 2009
- 24 avril 2008 à 14:18
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
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
342
Date d'inscription
dimanche 26 janvier 2003
Dernière intervention
25 mars 2009
- 24 avril 2008 à 14:18
3
Merci
Ha oui pour récupérer le tableau de bytes data[] de ton fichier monfichier.too, utilise un BinaryReader et la méthode ReadBytes.

Merci bubbathemaster 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de bubbathemaster
Messages postés
342
Date d'inscription
dimanche 26 janvier 2003
Dernière intervention
25 mars 2009
- 24 avril 2008 à 14:17
0
Merci
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
Commenter la réponse de bubbathemaster

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.