XML to skrót od Extensible Markup Language i jest powszechnie stosowanym formatem danych, który służy do strukturalnego przechowywania informacji, czy to w książkach adresowych, danych pogodowych czy innych zbiorach danych. W tym przewodniku pokażę ci, jak efektywnie przetwarzać pliki XML w C# za pomocą LINQ (Language Integrated Query). Zajmiemy się krok po kroku przetwarzaniem, sortowaniem i filtrowaniem danych XML.
Najważniejsze spostrzeżenia
- XML jest idealny do strukturalnego przechowywania danych.
- LINQ umożliwia efektywne zapytania i manipulację danymi XML.
- Możesz filtrować za pomocą LINQ według konkretnych kryteriów i sortować wyniki.
- Kombinacja XML i LINQ poprawia czytelność i obsługę danych w C#.
Wczytywanie i przygotowanie danych XML
Aby pracować z danymi XML, najpierw musisz dodać odpowiednie przestrzenie nazw. Są one kluczowe dla wczytywania i przetwarzania danych XML.
Najpierw dodajmy wymagane przestrzenie nazw:

Główną klasą, którą będziemy używać, jest XDocument. Reprezentuje ona dokument XML, który pozwala nam łatwo przetwarzać nasze dane XML. W naszym przykładzie stworzymy instancję tej klasy, aby zainicjować dokument XML.
Inicjalizacja XDocument
W następnym kroku tworzysz instancję XDocument, która wczytuje twoje dane XML. Nazwiemy tę instancję plzxdoc.
Za pomocą polecenia Parse wypełniasz obiekt twoim ciągiem XML. Krok ten jest kluczowy, ponieważ pozwala ci zapisać i manipulować danymi XML w twojej zmiennej plzxdoc.
Przeprowadzanie zapytań LINQ na danych XML
Po załadowaniu dokumentu XML następuje ważne zapytanie. LINQ pozwala ci w prosty sposób filtrować określone dane. W naszym przykładzie użyjemy LINQ do XML, aby przefiltrować wszystkie kody pocztowe.
Przygotowanie zapytania LINQ
To zapytanie przechodzi przez wszystkie elementy dokumentu XML, które reprezentują kody pocztowe i filtruje je według miejsca „Berlin”. W wyniku otrzymujesz tylko te kody pocztowe, które spełniają ten warunek.
Sortowanie wyników
Dzięki LINQ możesz również sortować przefiltrowane wyniki.

W tym przypadku kody pocztowe są sortowane malejąco, co powoduje, że wyższe kody pocztowe są wyświetlane jako pierwsze.
Wyświetlanie wyników
Teraz, gdy masz przefiltrowane i posortowane kody pocztowe, nadszedł czas, aby je wyświetlić na konsoli lub w interfejsie użytkownika.
Pętla ForEach do wyświetlania
Za pomocą tej pętli uzyskujesz dostęp do wartości dzielnicy oraz kodu pocztowego i wyświetlasz je sformatowane na konsoli.
Podsumowanie – Programowanie LINQ z danymi XML w C
W tym przewodniku nauczyłeś się, jak wczytywać, filtrować i wyświetlać dane XML w C# za pomocą LINQ. Na początku zapoznałeś się z podstawami XML i LINQ oraz dodałeś odpowiednie przestrzenie nazw. Następnie stworzyłeś instancję XDocument i użyłeś zapytania LINQ do przetwarzania danych. Na koniec posortowałeś przefiltrowane dane i wyświetliłeś je na konsoli.
Najczęściej zadawane pytania
Co to jest XML?XML to skrót od Extensible Markup Language i jest używany do strukturalnego przechowywania danych.
Co oznacza LINQ?LINQ to język integracji zapytań w.NET, który umożliwia zapytania i manipulację danymi w sposób deklaratywny.
Jak filtrować dane XML za pomocą LINQ?Możesz filtrować dane XML za pomocą zapytania LINQ, określając warunki dla pożądanych elementów i atrybutów, np. where (string)plz.Element("Ort") == "Berlin".
Jak sortować wyniki za pomocą LINQ?Wyniki można sortować za pomocą metody OrderBy lub OrderByDescending, określając pożądane właściwości, według których mają być sortowane.