XML ir paplašināmā marķējuma valoda un tā ir plaši izplatīta datu形式, ko izmanto strukturētai informācijas glabāšanai, vai tā būtu adresātu grāmatas, laika dati vai citi datu kopumi. Šajā rokasgrāmatā es parādīšu, kā efektīvi apstrādāt XML failus C# valodā, izmantojot LINQ (Language Integrated Query). Mēs soli pa solim pievērsīsimies XML datu apstrādei, kārtošanai un filtrēšanai.

Galvenie secinājumi

  • XML ir ideāls datu strukturētai uzglabāšanai.
  • LINQ ļauj efektīvi vaicāt un manipulēt ar XML datiem.
  • Tu vari filtrēt ar LINQ pēc specifiskiem kritērijiem un kārtot rezultātus.
  • XML un LINQ apvienojums uzlabo datu lasāmību un apstrādi C# valodā.

XML datu nolasīšana un sagatavošana

Lai strādātu ar XML datiem, vispirms tev ir nepieciešami attiecīgie nosaukumu telpas. Tās ir izšķirošas XML datu nolasīšanai un apstrādei.

Vispirms mēs pievienosim nepieciešamās nosaukumu telpas:

using System.Xml;
using System.Linq;
using using System.Collections.Generic;
Efektīvas LINQ vaicājumi XML datiem C#

Centralā klase, kuru mēs izmantosim, ir XDocument. Tā attēlo XML dokumentu, ar kuru mēs varam viegli apstrādāt savus XML datus. Mūsu piemērā mēs izveidosim šīs klases instanci, lai iniciētu XML dokumentu.

XDocument instancēšana

Nākamajā solī tu izveidosi XDocument instanci, kas lasa tavus XML datus. Mēs šo instanci nosauksim par plzxdoc.

Ar Parse komandu tu piepildīsi objektu ar savu XML virkni. Šis solis ir būtisks, jo tas ļauj saglabāt XML datus tavā mainīgajā plzxdoc un manipulēt ar tiem.

LINQ vaicājumi XML datiem

Pēc tam, kad esi ielādējis savu XML dokumentu, notiek svarīgais vaicājums. LINQ ļauj viegli filtrēt konkrētus datus. Mūsu piemērā mēs izmantosim LINQ to XML, lai filtrētu visas pasta indeksus.

LINQ vaicājuma sagatavošana

Šis vaicājums pārlūko visus XML dokumenta elementus, kas attēlo pasta indeksus, un filtrē tos pēc vietas "Berlīne". Rezultātā tu saņem tikai tos pasta indeksus, kas atbilst šim nosacījumam.

Rezultātu kārtošana

Ar LINQ tu vari arī kārtot filtrētos rezultātus.

Efektīvas LINQ vaicājumus XML datiem C#

Šajā gadījumā pasta indeksi tiks kārtoti dilstošā secībā, lai augstākie pasta indeksi tiktu parādīti pirmie.

Rezultātu iznākums

Tagad, kad tev ir filtrētie un kārtotie pasta indeksi, ir laiks tos izvadīt konsolē vai lietotāja interfeisā.

ForEach cikls rezultātu iznākumam

Ar šo ciklu tu piekļūsti vērtībām ar rajonu un pasta indeksu un izvada tās formatētā veidā konsolē.

Kopsavilkums – LINQ programmēšana ar XML datiem C#

Šajā rokasgrāmatā tu esi iemācījies, kā nolasīt, filtrēt un izvadīt XML datus C# valodā ar LINQ. Sākumā tu iepazinies ar XML un LINQ pamatprincipiem un iekļāvi atbilstošās nosaukumu telpas. Pēc tam tu izveidoji XDocument instanci un izmantoji LINQ vaicājumu datu apstrādei. Visbeidzot tu kārtoji filtrētos datus un izvadīji tos konsolē.

Biežāk uzdotie jautājumi

Kas ir XML?XML ir paplašināmā marķējuma valoda, kas tiek izmantota datu strukturētai uzglabāšanai.

Ko nozīmē LINQ?LINQ ir vaicājumu integrācijas valoda.NET, kas ļauj datus vaicāt un manipulēt deklaratīvā veidā.

Kā filtrēt XML datus ar LINQ?Tu vari filtrēt XML datus ar LINQ vaicājumu, nosakot nosacījumus vēlamajiem elementiem un atribūtiem, piemēram, where (string)plz.Element("Vieta") == "Berlīne".

Kā kārtot rezultātus ar LINQ?Rezultāti var tikt kārtoti ar OrderBy vai OrderByDescending metodi, norādot vajadzīgos īpašības, pēc kurām kārtot.