XML staat voor Extensible Markup Language en is een veelgebruikt gegevensformaat dat wordt gebruikt voor de gestructureerde opslaan van informatie, of het nu gaat om adresboekenen, weerdata of andere gegevensverzamelingen. In deze handleiding laat ik je zien hoe je met LINQ (Language Integrated Query) XML-bestanden in C# effectief kunt verwerken. We zullen stap voor stap de verwerking, sortering en filtering van XML-gegevens behandelen.

Belangrijkste bevindingen

  • XML is ideaal voor het gestructureerd opslaan van gegevens.
  • LINQ maakt een efficiënte opvraging en manipulatie van XML-gegevens mogelijk.
  • Je kunt met LINQ filteren op specifieke criteria en de resultaten sorteren.
  • De combinatie van XML en LINQ verbetert de leesbaarheid en het beheer van gegevens in C#.

XML-gegevens inlezen en voorbereiden

Om met XML-gegevens te werken, heb je eerst de bijbehorende namespaces nodig. Deze zijn essentieel voor het inlezen en verwerken van de XML-gegevens.

Eerst voegen we de vereiste namespaces toe:

using System.Xml;
using System.Linq;
using System.Collections.Generic;
Efficiënte LINQ-query's voor XML-gegevens in C#

De centrale klasse die we zullen gebruiken, is de XDocument. Deze vertegenwoordigt een XML-document, waarmee we onze XML-gegevens eenvoudig kunnen verwerken. In ons voorbeeld zullen we een instantie van deze klasse maken om een XML-document te initiëren.

Instantiëren van de XDocument

In de volgende stap maak je een XDocument-instantie die je XML-gegevens leest. We noemen deze instantie plzxdoc.

Met de Parse-opdracht vul je het object met je XML-string. Deze stap is essentieel, omdat deze je in staat stelt om de XML-gegevens in je variabele plzxdoc op te slaan en te manipuleren.

LINQ-opvragingen uitvoeren op XML-gegevens

Nadat je je XML-document hebt geladen, volgt de belangrijke opvraging. LINQ stelt je in staat om op een eenvoudige manier bepaalde gegevens eruit te filteren. Voor ons voorbeeld gebruiken we LINQ to XML om alle postcodes te filteren.

Voorbereiden van de LINQ-opvraging

Deze opvraging doorloopt alle elementen van het XML-document die een postcode vertegenwoordigen en filtert deze op de plaats "Berlijn". Als resultaat ontvang je alleen de postcodes die aan deze voorwaarde voldoen.

Sortering van de resultaten

Met LINQ kun je bovendien de gefilterde resultaten sorteren.

Efficiënte LINQ-query's voor XML-gegevens in C#

Hierbij wordt de postcode aflopend gesorteerd, zodat de hogere postcodes eerst worden weergegeven.

Weergeven van de resultaten

Nu je de gefilterde en gesorteerde postcodes hebt, is het tijd om deze op de console of in een gebruikersinterface weer te geven.

ForEach-lus voor de output

Met deze lus krijg je toegang tot de waarden van de wijk en de postcode en geef je ze geformatteerd weer op de console.

Samenvatting – LINQ-programmering met XML-gegevens in C

In deze handleiding heb je geleerd hoe je XML-gegevens in C# kunt inlezen, filteren en weergeven met LINQ. In het begin heb je de basisprincipes van XML en LINQ geleerd en de bijbehorende namespaces geïmplementeerd. Vervolgens heb je een XDocument-instantie gemaakt en een LINQ-opvraging gebruikt om de gegevens te verwerken. Tot slot heb je de gefilterde gegevens gesorteerd en deze op de console weergegeven.

Veelgestelde vragen

Wat is XML?XML staat voor Extensible Markup Language en wordt gebruikt om gegevens gestructureerd op te slaan.

Wat betekent LINQ?LINQ is een taal voor het integreren van opvragingen in.NET, waarmee je gegevens op een declaratieve manier kunt opvragen en manipuleren.

Hoe filter ik XML-gegevens met LINQ?Je kunt XML-gegevens filteren met een LINQ-opvraging door voorwaarden voor de gewenste elementen en attributen vast te stellen, bijv. where (string)plz.Element("Plaats") == "Berlijn".

Hoe sorteer ik resultaten met LINQ?Resultaten kunnen gesorteerd worden met de OrderBy- of OrderByDescending-methode door de gewenste eigenschappen op te geven waarop gesorteerd moet worden.