[C#] XML - Serialisation & reflexion (la j'en manque;p) [Résolu]

scoubidou944 728 Messages postés mardi 22 avril 2003Date d'inscription 19 janvier 2017 Dernière intervention - 22 avril 2005 à 12:07 - Dernière réponse : scoubidou944 728 Messages postés mardi 22 avril 2003Date d'inscription 19 janvier 2017 Dernière intervention
- 9 févr. 2006 à 14:41
Bon autant dire que j'en bave avec XML

L'init passe pas :

XmlTextWriter oWriter =
new XmlTextWriter (
@"d:\test2.xml",
null);


XmlSerializer oSerializer =
new XmlSerializer(
typeof(cLanguageList));

sur la 2ème ligne, il me donne une erreur de reflection.
voici les classes à sérialiser.
Et je parle meme pô des problème de serialisation avec les Hashtable.

[System.Xml.Serialization.XmlRoot(
"Element")]



public
class cLanguage
{
[XmlAttribute(
"Name")]
public
string m_szName;

public cLanguage ()
{
m_szName =
string.Empty;
}
}


[XmlRootAttribute("PurchaseOrder", Namespace"http://www.truc.com", IsNullable
false)]

public
class cLanguageList : CollectionBase
{

public cLanguageList ()
{}



public
int Add (cLanguage _oElementToAdd)
{

return
this.List.Add (_oElementToAdd);
}



public
virtual cLanguage
this [
int index ]
{

get
{

return ( ( cLanguage )(
base.List[ index ] ) );
}



set
{

base.List[ index ] =
value;
}
}
}

----------------------------
C++ forever
C# amateur
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
scoubidou944 728 Messages postés mardi 22 avril 2003Date d'inscription 19 janvier 2017 Dernière intervention - 9 févr. 2006 à 14:41
3
Merci
Vala finalement c'est réglé.
Voici une source que je viens de poser qui tente de rassembler un peu tout ce qu'on trouve sur le net et sur le forum pour sérialiser en XML meme les ArrayList ou HashTable

http://www.csharpfr.com/code.aspx?ID=35960

----------------------------
C++ forever
C# amateur

Merci scoubidou944 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de scoubidou944
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 22 avril 2005 à 12:30
0
Merci
Quelle est l'erreur? (Exception?)
Pourquoi tu passes null dans le constructeur du XmlTextWriter ?

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Commenter la réponse de cs_Bidou
scoubidou944 728 Messages postés mardi 22 avril 2003Date d'inscription 19 janvier 2017 Dernière intervention - 22 avril 2005 à 12:44
0
Merci
le param null est pour le système d'encodage par défaut.



L'exception générée est :

{"Une erreur s'est produite lors de la réflexion du type 'QuickSampleConsole.cLanguageList'." }


lors de la construction de :

XmlSerializer oSerializer =
new XmlSerializer(
typeof(cLanguageList));



----------------------------
C++ forever
C# amateur
Commenter la réponse de scoubidou944
scoubidou944 728 Messages postés mardi 22 avril 2003Date d'inscription 19 janvier 2017 Dernière intervention - 22 avril 2005 à 13:19
0
Merci
Il rest bien la solution de la sauver à la main avec un Count et chaque elements.

Mais la question suivante, lorsque l'on serialize un objet qui contient
la liste, comment lui dire d'utiliser notre fct perso de sauvegarde ?

----------------------------
C++ forever
C# amateur
Commenter la réponse de scoubidou944
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 22 avril 2005 à 13:43
0
Merci
Tu as pensé à marquer ta class comme Serializable?
Je ne vois pas l'attribut dans ton code ci-dessus !

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Commenter la réponse de cs_Bidou
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 22 avril 2005 à 13:47
0
Merci
Si tu veux sauver à la main, t'es obligé d'utiliser un XmlWriter...
Mais la Serialization, c'est très puissant, il est capable de sauver des classes complexes qui contiennent des structures complexes comme des hashtables.

Un problème que j'ai rencontré avec le Serializer, c'est lors de référence cyclique (genre la class A référencie un object B et la class B référencie un object A).


[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Commenter la réponse de cs_Bidou

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.