XML sta per Extensible Markup Language ed è un formato di dati ampiamente utilizzato per la memorizzazione strutturata delle informazioni, che si tratti di rubriche indirizzi, dati meteorologici o altre raccolte di dati. In questa guida ti mostrerò come elaborare in modo efficace file XML in C# usando LINQ (Language Integrated Query). Affronteremo passo dopo passo l'elaborazione, l'ordinamento e il filtraggio dei dati XML.
Principali scoperte
- XML è ideale per la memorizzazione strutturata dei dati.
- LINQ consente di eseguire query efficienti e manipolazioni dei dati XML.
- Puoi filtrare i dati specifici con LINQ e ordinare i risultati.
- La combinazione di XML e LINQ migliora la leggibilità e la gestione dei dati in C#.
Leggere e preparare i dati XML
Per lavorare con i dati XML, devi prima aggiungere i namespaces appropriati. Questi sono fondamentali per la lettura e l'elaborazione dei dati XML.
Prima aggiungiamo i namespaces necessari:

La classe centrale che useremo è XDocument. Essa rappresenta un documento XML, con cui possiamo elaborare facilmente i nostri dati XML. Nel nostro esempio, creeremo un'istanza di questa classe per inizializzare un documento XML.
Istanziazione dell'XDocument
Nella fase successiva, crei un'istanza di XDocument che legge i tuoi dati XML. Ci riferiamo a questa istanza come plzxdoc.
Con il comando Parse riempi l'oggetto con la tua stringa XML. Questo passaggio è fondamentale, poiché ti consente di memorizzare e manipolare i dati XML nella tua variabile plzxdoc.
Eseguire query LINQ sui dati XML
Dopo aver caricato il tuo documento XML, è il momento di eseguire una query importante. LINQ ti consente di filtrare facilmente dati specifici. Per il nostro esempio utilizzeremo LINQ to XML per filtrare tutti i codici postali.
Preparare la query LINQ
Questa query scorre tutti gli elementi del documento XML che rappresentano un codice postale e li filtra in base alla località "Berlino". Come risultato, otterrai solo i codici postali che corrispondono a questo criterio.
Ordinamento dei risultati
Con LINQ puoi anche ordinare i risultati filtrati.

In questo caso, i codici postali vengono ordinati in modo discendente, in modo che i codici più alti siano visualizzati per primi.
Output dei risultati
Adesso che hai i codici postali filtrati e ordinati, è il momento di stamparli sulla console o in un'interfaccia utente.
Ciclo ForEach per l'output
Con questo ciclo accedi ai valori del quartiere e del codice postale e li stampi formattati sulla console.
Riassunto – Programmazione LINQ con dati XML in C
In questa guida hai imparato come leggere, filtrare e stampare i dati XML in C# con LINQ. Inizialmente hai appreso le basi di XML e LINQ e hai incluso i namespaces appropriati. In seguito, hai creato un'istanza di XDocument e utilizzato una query LINQ per elaborare i dati. Infine, hai ordinato i dati filtrati e li hai stampati sulla console.
Domande frequenti
Che cos'è XML?XML sta per Extensible Markup Language ed è utilizzato per memorizzare dati in modo strutturato.
Cosa significa LINQ?LINQ è un linguaggio per l'integrazione delle query in.NET, che consente di interrogare e manipolare dati in modo dichiarativo.
Come filtro i dati XML con LINQ?Puoi filtrare i dati XML con una query LINQ stabilendo condizioni per gli elementi e attributi desiderati, ad esempio where (string)plz.Element("Ort") == "Berlino".
Come ordino i risultati con LINQ?I risultati possono essere ordinati con il metodo OrderBy o OrderByDescending, specificando le proprietà desiderate su cui ordinare.