Détails
Sérialiser un objet en XML
J'ai une classe C# dont j'ai hérité. J'ai réussi à "construire" ; l'objet. Mais j'ai besoin de sérialiser l'objet en XML. Existe-t-il un moyen simple de le faire ?
Il semble que la classe ait été configurée pour la sérialisation, mais je ne sais pas comment obtenir la représentation XML. La définition de ma classe ressemble à ceci :
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://www.domain.com/test")]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "http://www.domain.com/test", IsNullable = false)]
public partial class MyObject
{
...
}
Voici ce que je pensais pouvoir faire, mais cela ne fonctionne pas :
MyObject o = new MyObject();
// Set o properties
string xml = o.ToString();
Comment puis-je obtenir la représentation XML de cet objet ?
262
3
Vous devez utiliser XmlSerializer pour la sérialisation XML. Vous trouverez ci-dessous un exemple d'extrait.
Pour sérialiser un objet, faites :
Rappelez-vous également que pour que XmlSerializer fonctionne, vous avez besoin d'un constructeur sans paramètre.
Voici un bon tutoriel sur la manière de procéder
Pour ce faire, vous devez utiliser la classe
System.Xml.Serialization.XmlSerializer
.