Serialization Xml en memoire

Résolu
cs_cedkat Messages postés 172 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 3 juin 2011 - 4 oct. 2006 à 11:32
cs_cedkat Messages postés 172 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 3 juin 2011 - 4 oct. 2006 à 13:55
Bonjour,

Je souhaite serializer mon objet en xml directement en memoire pour le zip en suite sans passer par un fichier physique temporaire.

Voici ce que j'ai fait mais ca ne marche pas.

    zip = new ZipOutputStream(new FileStream(Filename, FileMode.Create, FileAccess.Write));
    ZipEntry ze = new ZipEntry("Référentiel.xml");       

   MemoryStream ms = new MemoryStream();
   XmlSerializer serializer = new XmlSerializer(data.GetType());
   serializer.Serialize(ms, data);
   byte[] buffer = new byte[ms.Length];
   ms.Read(buffer, 0, buffer.Length);            
   zip.PutNextEntry(ze);                
   zip.Write(buffer, 0, buffer.Length);

Merci

CedKat

3 réponses

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
4 oct. 2006 à 13:28
Hello,

Après un moment de recherche, je me suis rendu compte que tu utilisais la librairie SharpZipLib, ç'aurait pu aider si tu l'avais précisé.

Enfin, j'ai trouvé ton problème, essaie comme ça :

    zip = new ZipOutputStream(new FileStream(Filename, FileMode.Create, FileAccess.Write));
  ZipEntry ze = new ZipEntry("Référentiel.xml");        

  MemoryStream ms = new MemoryStream();
  XmlSerializer serializer = new XmlSerializer(data.GetType());
  serializer.Serialize(ms, data);
  ms.Position =0;
  byte[] buffer = new byte[ms.Length];
  ms.Read(buffer, 0, buffer.Length);             
  zip.PutNextEntry(ze);                 
  zip.Write(buffer, 0, buffer.Length);

Amicalement, SharpMao
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
4 oct. 2006 à 13:46
Avec .NET 2, y'a System.IO.Compression si jamais...

<hr size="2" />VC# forever
0
cs_cedkat Messages postés 172 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 3 juin 2011
4 oct. 2006 à 13:55
Merci

CedKat
0
Rejoignez-nous