XML е съкращение от Extensible Markup Language и представлява широко разпространен формат за данни, който се използва за структурирано съхранение на информация, независимо дали става въпрос за адресни книги, метеорологични данни или други колекции от данни. В този наръчник ще ти покажа как да обработваш ефективно XML файлове в C# с LINQ (Language Integrated Query). Ще се занимаваме стъпка по стъпка с обработката, сортирането и филтрирането на XML данни.
Най-важни открития
- XML е идеален за структурирано съхранение на данни.
- LINQ позволява ефективно запитване и манипулиране на XML данни.
- Можеш да филтрираш с LINQ по специфични критерии и да сортираш резултатите.
- Комбинацията от XML и LINQ подобрява четимостта и управляемостта на данните в C#.
Четене и подготовка на XML данни
За да работиш с XML данни, първо трябва да добавиш съответните пространства от имена. Те са решаващи за четенето и обработката на XML данните.
Първо добавяме необходимите пространства от имена:

Централният клас, който ще използваме, е XDocument. Той представлява XML документ, с който можем лесно да обработваме нашите XML данни. В нашия пример ще създадем инстанция на този клас, за да инициираме XML документ.
Инстанциране на XDocument
В следващата стъпка ще създадеш инстанция на XDocument, която чете твоите XML данни. Ще наречем тази инстанция plzxdoc.
С командата Parse запълваш обекта със своя XML низ. Тази стъпка е основна, тъй като ти позволява да съхраняваш и манипулираш XML данните в твоята променлива plzxdoc.
Изпълнение на LINQ запитвания върху XML данни
След като заредиш XML документа си, следва важната заявка. LINQ ти позволява лесно да филтрираш определени данни. В нашия пример ще използваме LINQ to XML, за да филтрираме всички пощенски кодове.
Подготовка на LINQ запитване
Тази заявка преминава през всички елементи на XML документа, които представляват пощенски код, и ги филтрира по местоположение „Берлин“. В резултат получаваш само пощенските кодове, които отговарят на това условие.
Сортиране на резултатите
С LINQ можеш също така да сортираш филтрираните резултати.

При това пощенският код е сортиран в низходящ ред, така че по-високите пощенски кодове се показват първи.
Изход на резултатите
Сега, след като имаш филтрираните и сортирани пощенски кодове, е време да ги изведеш на конзолата или в потребителски интерфейс.
Цикъл ForEach за извеждане
С този цикъл получаваш достъп до стойностите на района, както и на пощенския код и ги извеждаш форматирано на конзолата.
Резюме – LINQ програмиране с XML данни в C
В този наръчник научи как да четеш, филтрираш и извеждаш XML данни в C# с LINQ. В началото се запозна с основите на XML и LINQ и добави съответните пространства от имена. След това създаде инстанция на XDocument и използва LINQ запитване за обработка на данните. Накрая сортира филтрираните данни и ги изведе на конзолата.
Често задавани въпроси
Какво е XML?XML е съкращение от Extensible Markup Language и се използва за структурирано съхранение на данни.
Какво означава LINQ?LINQ е език за интеграция на запитвания в.NET, който позволява данните да се запитват и манипулират по декларативен начин.
Как да филтрирам XML данни с LINQ?Можеш да филтрираш XML данни с LINQ запитване, като зададеш условия за желаните елементи и атрибути, например where (string)plz.Element("Ort") == "Берлин".
Как да сортирам резултати с LINQ?Резултатите могат да бъдат сортирани с метода OrderBy или OrderByDescending, като зададеш желаните свойства, по които да се сортира.