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:

using System.Xml;
using System.Linq;
using System.Collections.Generic;
Query efficienti LINQ per dati XML in C#

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.

Efficienti query LINQ per dati XML in C#

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.