Serializzare una classe con LINQ
Supponiamo di avere una classe C# e di voler ottenere il codice xml che rappresenta una sua istanza.
E’ possibile sfruttare la potenza e la semplicità del linguaggio LINQ per raggiungere il nostro scopo.
Vediamo un facile esempio:
Supponiamo di avere la classe Libro cosi definita:
public class Libro
{
public String titolo { get; set; }
public String autore { get; set; }
public String editore { get; set; }
}
Immaginiamo ora di avere una lista di libri cosi definita
List<libro> lstLibri = new List<libro>();
e successivamente popolata con alcuni libri.
Il seguente codice LINQ trasforma la nostra lista di libri nel codice xml che la rappresenta:
var listaXML = new XDocument(
new XElement("Libri",
from p in lstLibri
select new XElement("Libro",
new XElement("titolo", p.titolo),
new XElement("autore", p.autore),
new XElement("editore", p.editore),
)
)
);
A questo punto listaXML conterrà qualcosa di questo tipo:
<libri>
<libro>
<titolo>I Promessi Sposi</titolo>
<autore>Alessandro Manzoni</autore>
<editore>Mondadori</editore>
</libro>
<libro>
<titolo>La Divina Commedia</titolo>
<autore>Dante Alighieri</autore>
<editore>ERGA Edizioni</editore>
</libro>
</libri>
Non ci sono commenti
Non ci sono commenti per questo articolo