XML tarkoittaa laajennettavaa merkintäkieltä ja on laajasti käytetty tiedostomuoto, jota käytetään tietojen jäsentämiseen, olipa kyse sitten osoitekirjoista, säätiedoista tai muista tietokokoelmista. Tässä oppaassa näytän sinulle, kuinka voit käsitellä XML-tiedostoja C#:ssä tehokkaasti LINQ:n (Language Integrated Query) avulla. Käymme vaihe vaiheelta läpi XML-datan käsittelyä, lajittelua ja suodattamista.

Tärkeimmät havainnot

  • XML on ihanteellinen jäsenneltyjen tietojen tallentamiseen.
  • LINQ mahdollistaa XML-tietojen tehokkaan kyselyn ja manipuloinnin.
  • Voit suodattaa LINQ:lla erityisten kriteerien mukaan ja lajitella tuloksia.
  • XML:n ja LINQ:n yhdistelmä parantaa tietojen luettavuutta ja käsiteltävyyttä C#:ssä.

XML-datan lukeminen ja valmistelu

Työskennelläksesi XML-datan kanssa tarvitset ensin tarvittavat nimiavaruudet. Nämä ovat ratkaisevia XML-datan lukemisen ja käsittelyn kannalta.

Lisätään ensin tarvittavat nimiavaruudet:

using System.Xml;
using System.Linq;
using System.Collections.Generic;
Tehokkaat LINQ-kyselyt XML-tietoihin C#:ssa

Keskusluokka, jota käytämme, on XDocument. Se edustaa XML-dokumenttia, jonka avulla voimme helposti käsitellä XML-datamme. Esimerkissämme luomme instanssin tästä luokasta aloittaaksemme XML-dokumentin.

XDocumentin instanssointi

Seuraavassa vaiheessa luot XDocument-instanssin, joka lukee XML-datasi. Nimeämme tämän instanssin plzxdociksi.

Käytät Parse-komentoa täyttääksesi objektin XML-merkkijonollasi. Tämä vaihe on olennaisen tärkeä, sillä se mahdollistaa XML-datan tallentamisen ja manipuloinnin muuttujassa plzxdoc.

LINQ-kyselyjen suorittaminen XML-datalle

Kun olet ladannut XML-dokumenttisi, seuraa tärkeä kysely. LINQ mahdollistaa tietojen suodattamisen helposti. Esimerkissämme käytämme LINQ to XML -tekniikkaa suodattaaksemme kaikki postinumerot.

LINQ-kyselyn valmistelu

Tämä kysely käy läpi kaikki XML-dokumentin elementit, jotka edustavat postinumeroita, ja suodattaa ne paikkakunnan "Berliini" mukaan. Tuloksena saat vain ne postinumerot, jotka täyttävät tämän ehdon.

Tulosten lajittelu

LINQ:n avulla voit myös lajitella suodatetut tulokset.

Tehokkaat LINQ-kyselyt XML-tiedoille C#:ssä

Tässä tapauksessa postinumero lajitellaan laskevaan järjestykseen, jolloin suuremmat postinumerot näytetään ensin.

Tulosten tulostaminen

Nyt, kun sinulla on suodatetut ja lajitellut postinumerot, on aika tulostaa ne konsoliin tai käyttöliittymään.

ForEach-silmukka tulostusta varten

Tällä silmukalla pääset käsiksi alueen ja postinumeron arvoihin ja tulostat ne muotoiltuna konsolille.

Yhteenveto – LINQ-ohjelmointi XML-datan kanssa C#:ssä

Tässä oppaassa olet oppinut, kuinka voit lukea, suodattaa ja tulostaa XML-dataa C#:ssä LINQ:n avulla. Aluksi opit XML:n ja LINQ:n perusteet ja lisäsit tarvittavat nimiavaruudet. Tämän jälkeen loit XDocument-instanssin ja käytit LINQ-kyselyä tietojen käsittelyyn. Lopuksi lajittelit suodatetut tiedot ja tulostit ne konsolille.

Usein kysyttyjä kysymyksiä

Mikä on XML?XML tarkoittaa laajennettavaa merkintäkieltä ja sitä käytetään tietojen jäsenneltyyn tallentamiseen.

Mitä LINQ tarkoittaa?LINQ on kyselykieli.NET:lle, joka mahdollistaa tietojen kyselyn ja manipuloinnin deklaratiivisella tavalla.

Kuinka suodattaa XML-dataa LINQ:lla?Voit suodattaa XML-dataa LINQ-kyselyllä asettamalla ehtoja halutuille elementeille ja attribuuteille, esim. where (string)plz.Element("Ort") == "Berliini".

Kuinka lajitella tuloksia LINQ:lla?Tuloksia voidaan lajitella OrderBy- tai OrderByDescending-menetelmällä asettamalla halutut ominaisuudet, joiden mukaan lajitellaan.