Chat  

C# - XML Serializer

C# - XML Serializer

PDFStampaE-mail

La serializzazione è l'operazione di generazione di uno stream o di un file dati contenente la classe serializzata. Può risultare molto utile nel caso sia necessario memorizzare e recuperare dati da un file di configurazione,per scambiare dati in rete o semplicemente fra due programmi differenti.

 

 

In questo articolo poniamo l'attenzione sulla serializzazione e deserializzazione di un file XML.

Data una semplice classe come quella rappresentata di seguito:

public class Destination

{ 

   private String _Address;

    public String Address

    {

       get { return _Address; }

        set { _Address=value;}

   }

}

 

realizziamo una serializzazione di una lista di destinatari email in formato XML: 

String Filename = Application.StartupPath + @"\DestAddress.xml";

 

List<Destination> dest_list = new List<Destination> { };

foreach (object it in checkedListBox1.Items) Destination destaddress = new Destination();

{

   

 

 

    destaddress.Address = it.ToString();

    dest_list.Add(destaddress);

} 

 

XmlSerializer Serializer = new XmlSerializer(typeof(List<Destination>));

TextWriter Writer = new StreamWriter(Filename);

Serializer.Serialize(Writer, dest_list);

Writer.Close();

 

 

MessageBox.Show("Configurazione destinatari salvata!");

 

Ora procediamo con la deserializzazione:

public List<Destination> Deserialize_Destination()

{

 

XmlSerializer deserializer = new XmlSerializer(typeof(List<Destination>));

TextReader textReader = new StreamReader(Application.StartupPath + @"\DestAddress.xml");

List<Destination> config ;

config = (List<Destination>)deserializer.Deserialize(textReader);

textReader.Close();

return config ;

}

Questa funzione restituisce la lista dei destinatari salvata su file xml.

Il namespace da utilizzare è:

System.Xml.Serialization;

 

Quindi in poche righe di codice ho scritto e letto un file XML

 

 

 

© 2018 - Andrea Facchin
   
| Domenica, 16. Dicembre 2018 || Designed by: LernVid.com |