XML je skratka pre Extensible Markup Language a je to široko používané formátovanie dát, ktoré sa používa na štruktúrované ukladanie informácií, či už ide o adresáretl, meteorologické dáta alebo iné zbierky dát. V tejto príručke ti ukážem, ako efektívne spracovať XML súbory v C# pomocou LINQ (Language Integrated Query). Krok za krokom sa budeme venovať spracovaniu, triedeniu a filtrovaní XML dát.

Najdôležitejšie poznatky

  • XML je ideálne na štruktúrované ukladanie dát.
  • LINQ umožňuje efektívne dotazovanie a manipuláciu s XML dátami.
  • Môžeš filtrovať a triediť výsledky podľa špecifických kritérií pomocou LINQ.
  • Kombinácia XML a LINQ zlepšuje čitateľnosť a manipuláciu s dátami v C#.

Načítanie a príprava XML dát

Aby si mohol pracovať s XML dátami, najprv potrebuješ príslušné namespace. Tieto sú rozhodujúce pre načítanie a spracovanie XML dát.

Najprv pridáme potrebné namespace:

using System.Xml;
using System.Linq;
using System.Collections.Generic;
Efektívne LINQ dotazy pre XML dáta v C#

Ústredná trieda, ktorú budeme používať, je XDocument. Predstavuje XML dokument, s ktorým môžeme jednoducho spracovať naše XML dáta. V našom príklade vytvoríme inštanciu tejto triedy na inicializáciu XML dokumentu.

Inštancia XDocument

V nasledujúcom kroku vytvoríš inštanciu XDocument, ktorá načíta tvoje XML dáta. Túto inštanciu budeme označovať ako plzxdoc.

Pomocou príkazu Parse naplníš objekt tvojim XML reťazcom. Tento krok je zásadný, pretože ti umožňuje uložiť a manipulovať XML dáta vo tvojej premennej plzxdoc.

Vykonávanie LINQ dotazov na XML dáta

Ako náhle načítaš svoj XML dokument, nastáva dôležitý dotaz. LINQ ti umožní jednoducho filtrovať určité dáta. Pre náš príklad použijeme LINQ to XML na filtrovanie všetkých PSČ.

Príprava LINQ dotazu

Tento dotaz prechádza všetkými elementmi XML dokumentu, ktoré reprezentujú PSČ, a filtruje ich podľa mesta „Berlín“. Ako výsledok získaš len tie PSČ, ktoré tejto podmienke vyhovujú.

Usporiadanie výsledkov

Pomocou LINQ môžeš navyše zoradiť filtrované výsledky.

Efektívne LINQ dotazy pre XML dáta v C#

Pri tom bude PSČ zoradené zostupne, takže vyššie PSČ sa zobrazia ako prvé.

Výstup výsledkov

Teraz, keď máš filtrované a zoradené PSČ, je čas tieto zobraziť na konzole alebo v používateľskom rozhraní.

Cyklenie ForEach pre výstup

Pomocou tohto cyklu získaš hodnoty obvodu aj PSČ a formátovane ich zobrazíš na konzole.

Zhrnutie – Kódovanie LINQ s XML dátami v C

V tejto príručke si sa naučil, ako načítať, filtrovať a zobraziť XML dáta v C# pomocou LINQ. Na začiatku si sa oboznámil so základmi XML a LINQ a zahrnul príslušné namespace. Následne si vytvoril inštanciu XDocument a použil LINQ dotaz na spracovanie dát. Nakoniec si filtrované dáta zoradil a zobrazil ich na konzole.

Často kladené otázky

Čo je XML?XML znamená Extensible Markup Language a používa sa na štruktúrované ukladanie dát.

Čo znamená LINQ?LINQ je jazyk na integráciu dotazov v.NET, ktorý umožňuje dotazovanie a manipuláciu s dátami deklaratívnym spôsobom.

Ako filtrovať XML dáta pomocou LINQ?XML dáta môžeš filtrovať pomocou LINQ dotazu stanovením podmienok pre žiadané elementy a atribúty, napríklad where (string)plz.Element("Ort") == "Berlín".

Ako zoradiť výsledky pomocou LINQ?Výsledky môžu byť zoradené pomocou metódy OrderBy alebo OrderByDescending, pričom stanovíš požadované vlastnosti, podľa ktorých sa má zoradiť.