XML yra plėtojama ženklų kalba ir yra plačiai naudojamas duomenų formatas, skirtas struktūrizuotam informacijos saugojimui, nesvarbu, ar tai būtų adresų rašymai, oro duomenys ar kiti duomenų rinkiniai. Šioje instrukcijoje parodysiu, kaip efektyviai apdoroti XML failus C# naudojant LINQ (kalbos integruota užklausa). Mes žingsnis po žingsnio skirsime dėmesį XML duomenų apdorojimui, rikiavimui ir filtravimui.

Svarbiausi įžvalgos

  • XML yra ideali struktūrizuotam duomenų saugojimui.
  • LINQ leidžia efektyviai užklausti ir manipuliuoti XML duomenimis.
  • Su LINQ gali filtruoti pagal konkrečius kriterijus ir rikiuoti rezultatus.
  • XML ir LINQ derinys gerina duomenų C# skaitymumą ir tvarkymą.

Skaityti ir paruošti XML duomenis

Norint dirbti su XML duomenimis, pirmiausia reikia atitinkamų vardinių erdvių. Jos yra lemiamos XML duomenų skaitymui ir apdorojimui.

Pirmiausia pridėsime reikiamas vardines erdves:

using System.Xml;
using System.Linq;
using System.Collections.Generic;
Efektyvios LINQ užklausos XML duomenims C# kalba

Pagrindinė klasė, kurią naudosime, yra XDocument. Ji atstovauja XML dokumentui, su kuriuo galėsime lengvai dirbti su mūsų XML duomenimis. Mūsų pavyzdyje sukursime šios klasės egzempliorių, kad inicijuotume XML dokumentą.

XDocument instancijos sukūrimas

Kitoje žingsnyje sukursite XDocument egzempliorių, kuris skaitys jūsų XML duomenis. Šį egzempliorių pavadinsime plzxdoc.

Naudodami Parse komandą užpildysite objektą savo XML eilute. Šis žingsnis yra esminis, nes jis leidžia jums saugoti ir manipuliuoti XML duomenimis jūsų plzxdoc kintamajame.

LINQ užklausos apie XML duomenis

Po to, kai įkelsite savo XML dokumentą, vykdoma svarbi užklausa. LINQ leidžia jums lengvai filtruoti konkrečius duomenis. Mūsų pavyzdžiui naudosime LINQ to XML, kad filtruotume visas pašto kodus.

LINQ užklausos paruošimas

Ši užklausa pereis per visus XML dokumento elementus, kurie atstovauja pašto kodui, ir filtruos juos pagal „Berlyno“ vietą. Kaip rezultatas, gausite tik tuos pašto kodus, kurie atitinka šį reikalavimą.

Rezultatų rikiavimas

Su LINQ galite taip pat rikiuoti filtrus rezultatus.

Efektyvūs LINQ užklausos XML duomenims C# kalboje

Čia pašto kodas rikiuojamas mažėjimo tvarka, kad didesni pašto kodai būtų rodomi pirmiausia.

Rezultatų išvedimas

Dabar, kai turite filtruotus ir surikiuotus pašto kodus, atėjo laikas juos išvesti konsolėje arba vartotojo sąsajoje.

ForEach ciklas rezultatams išvesti

Naudodami šį ciklą pasieksite rajono ir pašto kodo reikšmes bei formatuotai jas išvesite konsolėje.

Apibendrinimas – LINQ programavimas su XML duomenimis C

Šioje instrukcijoje išmokote, kaip skaityti, filtruoti ir išvesti XML duomenis C# su LINQ. Pradžioje sužinojote XML ir LINQ pagrindus ir pridėjote atitinkamas vardines erdves. Vėliau sukūrėte XDocument egzempliorių ir naudojote LINQ užklausą, kad apdorotumėte duomenis. Galiausiai suskaičiavote filtruotus duomenis ir juos išvedėte konsolėje.

Dažnai užduodami klausimai

Kas yra XML?XML reiškia plėtojamą ženklų kalbą ir yra naudojama duomenims struktūrizuotai saugoti.

Kas yra LINQ?LINQ yra užklausų integravimo kalba.NET, leidžianti užklausti ir manipuliuoti duomenimis deklaratyviai.

Kaip filtruoti XML duomenis su LINQ?Galite filtruoti XML duomenis su LINQ užklausa, nustatydami sąlygas norimiems elementams ir atributams, pvz., where (string)plz.Element("Vieta") == "Berlynas".

Kaip rikiuoti rezultatus su LINQ?Rezultatus galite rūšiuoti su OrderBy arba OrderByDescending metodu, nurodydami norimas savybes, pagal kurias reikia rūšiuoti.