XML står for Extensible Markup Language og er et mye brukt dataformat som brukes for strukturert lagring av informasjon, enten det er for adressebøker, værdata eller andre datainnsamlinger. I denne guiden viser jeg deg hvordan du effektivt kan behandle XML-filer i C# med LINQ (Language Integrated Query). Vi vil trinn for trinn gå gjennom behandling, sortering og filtrering av XML-data.
Viktigste funn
- XML er ideelt for strukturert lagring av data.
- LINQ muliggjør effektiv spørring og manipulering av XML-data.
- Du kan filtrere med LINQ etter spesifikke kriterier og sortere resultatene.
- Kombinasjonen av XML og LINQ forbedrer lesbarheten og håndteringen av data i C#.
Lesing og forberedelse av XML-data
For å arbeide med XML-data, trenger du først de riktige namespaces. Disse er avgjørende for innlasting og behandling av XML-data.
Først legger vi til de nødvendige namespaces:

Den sentrale klassen vi skal bruke er XDocument. Den representerer et XML-dokument som gjør det enkelt å behandle XML-dataene våre. I vårt eksempel skal vi opprette en instans av denne klassen for å initiere et XML-dokument.
Instansiering av XDocument
I neste steg oppretter du en XDocument-instans som leser XML-dataene dine. Vi kaller denne instansen plzxdoc.
Med Parse-kommandoen fyller du objektet med XML-strengen din. Dette steget er essensielt, da det lar deg lagre og manipulere XML-dataene i variabelen plzxdoc.
Utføre LINQ-spørringer på XML-data
Etter at du har lastet XML-dokumentet ditt, følger den viktige spørringen. LINQ lar deg enkelt filtrere spesifikke data. For vårt eksempel bruker vi LINQ to XML for å filtrere alle postnumre.
Forberede LINQ-spørring
Denne spørringen går gjennom alle elementene i XML-dokumentet som representerer et postnummer, og filtrerer dem etter stedet "Berlin". Som resultat får du kun de postnumrene som oppfyller denne betingelsen.
Sortering av resultatene
Med LINQ kan du også sortere de filtrerte resultatene.

Her blir postnummeret sortert synkende, slik at de høyere postnumrene vises først.
Utskrift av resultatene
Nå som du har de filtrerte og sorterte postnumrene, er det på tide å skrive dem ut på konsollen eller i et brukergrensesnitt.
ForEach-løkke for utskrift
Med denne løkken får du tilgang til verdiene til bydelen og postnummeret, og skriver dem ut formatert på konsollen.
Oppsummering – LINQ-programmering med XML-data i C
I denne guiden har du lært hvordan du kan lese, filtrere og skrive ut XML-data i C# med LINQ. I begynnelsen ble du kjent med grunnleggende konsepter i XML og LINQ samt de nødvendige namespaces. Deretter opprettet du en XDocument-instans og brukte en LINQ-spørring for å behandle dataene. Til slutt sorterte du de filtrerte dataene og skrev dem ut på konsollen.
Ofte stilte spørsmål
Hva er XML?XML står for Extensible Markup Language og brukes til å lagre data strukturert.
Hva betyr LINQ?LINQ er et språk for integrering av spørringer i.NET, som gjør det mulig å spørre og manipulere data på en deklarativ måte.
Hvordan filtrerer jeg XML-data med LINQ?Du kan filtrere XML-data med en LINQ-spørring ved å angi betingelser for de ønskede elementene og attributtene, f.eks. where (string)plz.Element("Sted") == "Berlin".
Hvordan sorterer jeg resultater med LINQ?Resultater kan sorteres med OrderBy- eller OrderByDescending-metoden ved å angi hvilke egenskaper som skal brukes for sortering.