Sérialisation Xml : Sérialiser une HybridDictionary ou Hashtable ???

Résolu
EmacLi
Messages postés
165
Date d'inscription
jeudi 3 novembre 2005
Statut
Membre
Dernière intervention
1 février 2013
- 13 mars 2007 à 14:44
EmacLi
Messages postés
165
Date d'inscription
jeudi 3 novembre 2005
Statut
Membre
Dernière intervention
1 février 2013
- 14 mars 2007 à 09:59
Boujour à tous,

Quelqu'un pourrait il m'aider ?

Je cherche à sérialiser une hashtable ou une hybriddictionnary !

Je cherche, je cherche, sans succés !

Merci à tous !

(VS2005 fr, framework 2.0)

6 réponses

cs_Bidou
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
59
13 mars 2007 à 23:27
Hé non...
L'attribut Serializable ne veut pas dire que l'object est serializable avec un XmlSerializer, ça veut dire qu'il est serializable avec un BinaryFormatter (ou SoapFormatter).
Si tu n'es pas trop à l'aise avec les Attributes, tu peux rapidement jeter un coup d'oeil ici

<hr />
-Blog-
3
cs_Bidou
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
59
13 mars 2007 à 16:37
Salut,
Regardes sur le site, il y a différentes sources qui pourront t'être utile... Par exemple, celle-ci

<hr />
-Blog-
0
EmacLi
Messages postés
165
Date d'inscription
jeudi 3 novembre 2005
Statut
Membre
Dernière intervention
1 février 2013
1
13 mars 2007 à 16:58
Merci mais ce n'est pas tout à fait ce que je cherche.

J'ai une classe que je sérialise pour obtenir une instance :

public class LienWeb


   private string sLibelle;
   private string sUrl;
   private HybridDictionary hd = new HybridDictionary(); 

   [XmlAttributeAttribute("libelle")]
   public string Libelle
   {
      get { return sLibelle; }
      set { sLibelle = value; }
   } 

   [XmlAttributeAttribute("url")]
   public string Url
   {
      get { return sUrl; }
      set { sUrl = value; }
   } 

   [???]
   public HybridDictionary Parametres
   {
      get { return hd; } 
      set { hd = value; } 
   }
}

Le problème c'est que ma  HybridDictionary (qui m'interesse) ne se sérialise pas.

Voici ma méthode :

public void Enregistre(LienWeb lien)
{
   XmlSerializer serializer = new XmlSerializer(typeof(LienWeb)); 

   using (TextWriter writer = new StreamWriter("C:\test.xml")) 
      serializer.Serialize(writer, lien); 
}
0
cs_Bidou
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
59
13 mars 2007 à 17:44
Le problème justement c'est qu'un Dictionary ne peut pas être serializé.
Cherches sur le site, y'a des sources qui expliquent comment contourner le problème...

<hr />
-Blog-
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
EmacLi
Messages postés
165
Date d'inscription
jeudi 3 novembre 2005
Statut
Membre
Dernière intervention
1 février 2013
1
13 mars 2007 à 19:24
0
EmacLi
Messages postés
165
Date d'inscription
jeudi 3 novembre 2005
Statut
Membre
Dernière intervention
1 février 2013
1
14 mars 2007 à 09:59
oki merci, j'viens de regarder tout ça.
0