Serializzare un oggetto in XML in C#
Questa esercitazione discuterà come serializzare un oggetto classe in un file o una stringa XML in C#.
Serializza l’oggetto in XML con la classe XmlSerializer
in C#
Serializzare significa convertire gli oggetti della classe in XML o in formato binario. La classe XmlSerializer
converte gli oggetti della classe in XML e viceversa in C#. Il metodo XmlSerializer.Serialize()
converte tutti i campi pubblici e le proprietà di un oggetto classe in formato XML. Dobbiamo definire la nostra classe con lo specificatore di accesso public
se vogliamo scriverla in un file o una stringa XML. Il seguente esempio di codice ci mostra come serializzare un oggetto classe in una variabile stringa XML con la classe XmlSerializer
in 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);
}
}
}
Produzione:
<?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>
Nel codice precedente, abbiamo serializzato l’oggetto obj
della classe Sample
in una variabile stringa XML xml
con la funzione XmlSerializer.Serialize()
in C#. Per prima cosa abbiamo inizializzato un’istanza della classe XmlSerializer
passando il parametro typeof(Sample)
. Questo crea un’istanza della classe XmlSerializer
di tipo Sample
. Abbiamo quindi creato un’istanza della classe StringWriter
per scrivere dati in una variabile stringa. Abbiamo quindi creato un’istanza della classe XmlWriter
per scrivere nell’istanza della classe StringWriter
. Abbiamo quindi scritto l’oggetto nell’istanza della classe StringWriter
con serializer.Serialize(writer, obj)
e memorizzato il risultato nella variabile stringa xml
con la funzione 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