XML pomeni razširljiva označevalna jezik in je široko razširjen format podatkov, ki se uporablja za strukturirano shranjevanje informacij, bodisi za imenikee, vremenske podatke ali druge zbirke podatkov. V tem priročniku ti bom pokazal, kako lahko učinkovito obdeluješ XML-datoteke v C# z LINQ (Language Integrated Query). Korak za korakom se bomo posvetili obdelavi, razvrščanju in filtriranju XML-podatkov.
Najpomembnejše ugotovitve
- XML je idealen za strukturirano shranjevanje podatkov.
- LINQ omogoča učinkovito poizvedovanje in manipulacijo XML-podatkov.
- Ob LINQ lahko filtriraš po specifičnih kriterijih in rezultate razvrstiš.
- Kombinacija XML in LINQ izboljša berljivost in obvladovanje podatkov v C#.
Branje in priprava XML-podatkov
Za delo z XML-podatki najprej potrebuješ ustrezne prostore imen. Ti so odločilni za branje in obdelavo XML-podatkov.
Najprej dodamo potrebne prostore imen:

Osrednja klasa, ki jo bomo uporabljali, je XDocument. Predstavlja XML-dokument, s katerim lahko enostavno obdelujemo naše XML-podatke. V našem primeru bomo ustvarili instanco te klase, da iniciiramo XML-dokument.
Instanca XDocument
V naslednjem koraku ustvariš instanco XDocument, ki prebere tvoje XML-podatke. To instanco imenujemo plzxdoc.
S pomočjo ukaza Parse napolniš objekt s svojim XML-nizom. Ta korak je ključnega pomena, saj ti omogoča, da shranjuješ in manipuliraš z XML-podatki v svoji spremenljivki plzxdoc.
Izvajanje LINQ-poizvedb na XML-podatkih
Potem ko si naložil svoj XML-dokument, sledi pomembna poizvedba. LINQ ti omogoča enostavno filtriranje določenih podatkov. V našem primeru bomo uporabili LINQ to XML, da filtriramo vse poštne številke.
Priprava LINQ-poizvedbe
Ta poizvedba preide vse elemente XML-dokumenta, ki predstavljajo poštno številko, in jih filtrira po kraju "Berlin". Kot rezultat dobiš le tiste poštne številke, ki ustrezajo tej pogojni.
Razvrščanje rezultatov
Z LINQ lahko poleg tega razvrstiš filtrirane rezultate.

Pri tem se poštna številka razvrsti v padajočem vrstnem redu, tako da se višje poštne številke prikažejo najprej.
Izpis rezultatov
Zdaj, ko imaš filtrirane in razvrščene poštne številke, je čas, da jih izpišeš na konzolo ali v uporabniškem vmesniku.
ForEach zanka za izpis
Pri tej zanki dostopaš do vrednosti predela in poštne številke ter jih formatirano izpišeš na konzolo.
Povzetek – LINQ programiranje z XML-podatki v C
V tem priročniku si se naučil, kako lahko bereš, filtriraš in izpisuješ XML-podatke v C# z LINQ. Na začetku si spoznal osnove XML in LINQ ter vključil ustrezne prostore imen. Nato si ustvaril instanco XDocument in izvedel LINQ-poizvedbo za obdelavo podatkov. Na koncu si razvrstil filtrirane podatke in jih izpisal na konzolo.
Pogosto zastavljena vprašanja
Kaj je XML?XML pomeni razširljiva označevalna jezik in se uporablja za strukturirano shranjevanje podatkov.
Kaj pomeni LINQ?LINQ je jezik za integracijo poizvedb v.NET, ki omogoča poizvedovanje in manipulacijo podatkov na deklarativen način.
Kako filtriram XML-podatke z LINQ?XML-podatke lahko filtriraš z LINQ-poizvedbo, tako da določiš pogoje za želene elemente in lastnosti, npr. where (string)plz.Element("Kraj") == "Berlin".
Kako razvrstim rezultate z LINQ?Rezultati se lahko razvrstijo z metodo OrderBy ali OrderByDescending, tako da določiš želene lastnosti, po katerih se razvršča.