Sérialiser un objet en XML en C#
Ce didacticiel explique comment sérialiser un objet de classe dans un fichier XML ou une chaîne en C#.
Sérialiser un objet en XML avec la classe XmlSerializer
en C#
La sérialisation signifie la conversion des objets de classe au format XML ou binaire. La classe XmlSerializer
convertit les objets de classe en XML et vice versa en C#. La méthode XmlSerializer.Serialize()
convertit tous les champs publics et propriétés d’un objet de classe au format XML. Nous devons définir notre classe avec le spécificateur d’accès public
si nous voulons l’écrire dans un fichier ou une chaîne XML. L’exemple de code suivant nous montre comment sérialiser un objet de classe en une variable de chaîne XML avec la classe XmlSerializer
en C#.
using System;
using System.IO;
using System.Linq;
using System.Xml;
using System.Xml.Serialization;
namespace serialize_object {
public class Sample {
public string value { get; set; }
}
class Program {
static void Main(string[] args) {
Sample obj = new Sample();
obj.value = "this is some value";
string xml = "";
XmlSerializer serializer = new XmlSerializer(typeof(Sample));
using (var sww = new StringWriter()) {
using (XmlWriter writer = XmlWriter.Create(sww)) {
serializer.Serialize(writer, obj);
xml = sww.ToString(); // Your XML
}
}
Console.WriteLine(xml);
}
}
}
Production:
<?xml version="1.0" encoding="utf-16"?><Sample xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema"><value>this is some value</value></Sample>
Dans le code ci-dessus, nous avons sérialisé l’objet obj
de la classe Sample
en une variable de chaîne XML xml
avec la fonction XmlSerializer.Serialize()
en C#. Nous avons d’abord initialisé une instance de la classe XmlSerializer
en passant le paramètre typeof(Sample)
. Cela crée une instance de la classe XmlSerializer
de type Sample
. Nous avons ensuite créé une instance de la classe StringWriter
pour écrire des données dans une variable chaîne. Nous avons ensuite créé une instance de la classe XmlWriter
pour écrire dans l’instance de la classe StringWriter
. Nous avons ensuite écrit l’objet dans l’instance de la classe StringWriter
avec serializer.Serialize(writer, obj)
et stocké le résultat dans la variable chaîne xml
avec la fonction ToString()
.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn