XML står för Extensible Markup Language och är ett utbrett dataformat som används för strukturerad lagring av information, oavsett om det handlar om adresserböcker, väderdata eller andra datainsamlingar. I denna guide visar jag dig hur du effektivt kan bearbeta XML-filer i C# med LINQ (Language Integrated Query). Vi kommer steg för steg att gå igenom behandling, sortering och filtrering av XML-data.
Viktigaste insikter
- XML är idealiskt för strukturerad lagring av data.
- LINQ möjliggör effektiv åtkomst och manipulation av XML-data.
- Du kan filtrera med LINQ baserat på specifika kriterier och sortera resultaten.
- Kombinationen av XML och LINQ förbättrar läsbarheten och hanteringen av data i C#.
Läsa in och förbereda XML-data
För att arbeta med XML-data behöver du först de nödvändiga namnutrymmena. Dessa är avgörande för att läsa in och bearbeta XML-data.
Först lägger vi till de nödvändiga namnutrymmena:

Den centrala klassen som vi kommer att använda är XDocument. Den representerar ett XML-dokument, vilket gör att vi enkelt kan bearbeta våra XML-data. I vårt exempel kommer vi att skapa en instans av denna klass för att initiera ett XML-dokument.
Instansiering av XDocument
I nästa steg skapar du en XDocument-instans som läser dina XML-data. Vi kallar denna instans för plzxdoc.
Med kommandot Parse fyller du objektet med din XML-sträng. Detta steg är avgörande eftersom det gör att du kan lagra och manipulera XML-data i din variabel plzxdoc.
Utföra LINQ-frågor på XML-data
När du har laddat ditt XML-dokument sker den viktiga frågan. LINQ gör det enkelt för dig att filtrera ut specifika data. I vårt exempel använder vi LINQ to XML för att filtrera alla postnummer.
Förbereda LINQ-frågan
Denne fråga går igenom alla element i XML-dokumentet som representerar ett postnummer och filtrerar dem efter platsen "Berlin". Som resultat får du endast de postnummer som uppfyller detta villkor.
Sortering av resultaten
Med LINQ kan du också sortera de filtrerade resultaten.

Därmed sorteras postnumret i fallande ordning så att de högre postnumren visas först.
Uttag av resultaten
Nu när du har de filtrerade och sorterade postnumren är det dags att visa dem på konsolen eller i ett användargränssnitt.
ForEach-slinga för utskrift
Med denna slinga får du åtkomst till värdena för stadsdelen samt postnumret och skriver ut dem formaterat på konsolen.
Sammanfattning – LINQ-programmering med XML-data i C
I denna guide har du lärt dig hur du läser in, filtrerar och skriver ut XML-data i C# med LINQ. I början lärde du dig grunderna i XML och LINQ och inkluderade de nödvändiga namnutrymmena. Sedan skapade du en XDocument-instans och använde en LINQ-fråga för att bearbeta data. Till slut sorterade du de filtrerade data och skrev ut dem på konsolen.
Vanliga frågor
Vad är XML?XML står för Extensible Markup Language och används för att lagra data strukturerat.
Vad betyder LINQ?LINQ är ett språk för att integrera frågor i.NET som gör det möjligt att fråga och manipulera data på ett deklarativt sätt.
Hur filtrerar jag XML-data med LINQ?Du kan filtrera XML-data med en LINQ-fråga genom att ange villkor för de önskade elementen och attributen, t.ex. where (string)plz.Element("Ort") == "Berlin".
Hur sorterar jag resultat med LINQ?Resultat kan sorteras med metoden OrderBy eller OrderByDescending genom att ange de önskade egenskaperna som ska sorteras.