XML står for Extensible Markup Language og er et meget udbredt dataformat, der bruges til struktureret gemmelse af information, hvad enten det er til adressebøger, vejrdata eller andre datasamlinger. I denne vejledning vil jeg vise dig, hvordan du effektivt kan behandle XML-filer i C# med LINQ (Language Integrated Query). Vi vil tage dig igennem trinene for behandling, sortering og filtrering af XML-data.

Vigtigste indsigter

  • XML er ideelt til struktureret lagring af data.
  • LINQ muliggør effektiv forespørgsel og manipulation af XML-data.
  • Du kan filtrere efter specifikke kriterier og sortere resultaterne med LINQ.
  • Kombinationen af XML og LINQ forbedrer læsbarheden og håndteringen af data i C#.

Indlæsning og forberedelse af XML-data

For at arbejde med XML-data skal du først have de relevante navnerum. Disse er afgørende for indlæsning og behandling af XML-data.

Først tilføjer vi de nødvendige navnerum:

using System.Xml;
using System.Linq;
using System.Collections.Generic;
Effektive LINQ-forespørgsler til XML-data i C#

Den centrale klasse, vi vil bruge, er XDocument. Den repræsenterer et XML-dokument, som gør det nemt for os at behandle vores XML-data. I vores eksempel vil vi oprette en instans af denne klasse for at initiere et XML-dokument.

Initialisering af XDocument

I næste trin opretter du en XDocument-instans, der læser dine XML-data. Vi kalder denne instans plzxdoc.

Med Parse-kommandoen fylder du objektet med din XML-streng. Dette trin er væsentligt, da det giver dig mulighed for at gemme og manipulere XML-data i din variable plzxdoc.

Udførelse af LINQ-forespørgsler på XML-data

Når du har indlæst dit XML-dokument, sker den vigtige forespørgsel. LINQ giver dig mulighed for nemt at filtrere specifikke data. Til vores eksempel bruger vi LINQ til XML for at filtrere alle postnumre.

Forberedelse af LINQ-forespørgslen

Denne forespørgsel gennemgår alle elementer i XML-dokumentet, der repræsenterer et postnummer, og filtrerer dem efter stedet "Berlin". Som resultat får du kun de postnumre, der opfylder denne betingelse.

Sortering af resultaterne

Med LINQ kan du desuden sortere de filtrerede resultater.

Effektive LINQ-forespørgsler for XML-data i C#

Her sorteres postnumrene i faldende rækkefølge, således at de højere postnumre vises først.

Udgivelse af resultaterne

Nu hvor du har de filtrerede og sorterede postnumre, er det tid til at udgive disse på konsollen eller i en brugergrænseflade.

ForEach-løkke til udgivelse

Med denne løkke får du adgang til værdierne for bydelen samt postnummeret og udgiver dem formateret på konsollen.

Opsummering – LINQ-programmering med XML-data i C

I denne vejledning har du lært, hvordan du kan indlæse, filtrere og udgive XML-data i C# med LINQ. I starten har du lært grundlæggende om XML og LINQ og indsat de relevante navnerum. Derefter har du oprettet en XDocument-instans og brugt en LINQ-forespørgsel til at behandle dataene. Endelig har du sorteret de filtrerede data og udgivet dem på konsollen.

Ofte stillede spørgsmål

Hvad er XML?XML står for Extensible Markup Language og bruges til at gemme data struktureret.

Hvad betyder LINQ?LINQ er et sprog til integration af forespørgsler i.NET, der muliggør forespørgsel og manipulation af data på en deklarativ måde.

Hvordan filtrerer jeg XML-data med LINQ?Du kan filtrere XML-data med en LINQ-forespørgsel ved at angive betingelser for de ønskede elementer og attributter, f.eks. where (string)plz.Element("Sted") == "Berlin".

Hvordan sorterer jeg resultater med LINQ?Resultater kan sorteres med OrderBy- eller OrderByDescending-metoden ved at angive de ønskede egenskaber, som skal sorteres efter.