Molto spesso capita di dover esportare le informazioni in formato xml per trasferirle verso sistemi esterni. A questo scopo, LINQ To XML introduce una nuova serie di classi che hanno lo scopo di rimpiazzare quelle del namespace System.Xml e che sono molto più potenti, semplici ed intuitive.
In questo script vengono utilizzate le classi XDocument e XElement per creare un file che contiene le informazioni di una lista di oggetti Persona.
public class Persona { public Persona() { } public string Nome { get; set; } public string Cognome { get; set; } public int Eta { get; set; } }
Innanzitutto, si dichiara un oggetto XDocument al quale si aggiunge un elemento Persone. Successivamente, viene fatta una query LINQ su una lista di oggetti Persona e per ogni oggetto viene creato un elemento "Persona", dentro il nodo precedentemente creato, con tre elementi figli: Nome, Cognome ed Eta.
var xml = new XDocument( new XElement("Persone", from p in persone select new XElement("Persona", new XElement("Nome", p.Nome), new XElement("Cognome", p.Cognome), new XElement("Eta", p.Eta) ) ) );
Introduzione a LINQ
https://www.winfxitalia.com/articoli/netfx3.5/linq.aspx
#38 - Eseguire una query su file XML con LINQ
https://www.linqitalia.com/script/38/Eseguire-Query-File-XML-LINQ.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Change tracking e composition in Entity Framework
I più letti di oggi
- Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
- Repaint, Reflow e Compositing: Come Funziona il Rendering nel Browser
- Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
- Disabilitare le run concorrenti di una pipeline di Azure DevOps
- Chiamare direttamente un numero di telefono con HTML5