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

Най-важни открития

  • XML е идеален за структурирано съхранение на данни.
  • LINQ позволява ефективно запитване и манипулиране на XML данни.
  • Можеш да филтрираш с LINQ по специфични критерии и да сортираш резултатите.
  • Комбинацията от XML и LINQ подобрява четимостта и управляемостта на данните в C#.

Четене и подготовка на XML данни

За да работиш с XML данни, първо трябва да добавиш съответните пространства от имена. Те са решаващи за четенето и обработката на XML данните.

Първо добавяме необходимите пространства от имена:

using System.Xml;
using System.Linq;
using System.Collections.Generic;
Ефективни LINQ заявки за XML данни в C#

Централният клас, който ще използваме, е XDocument. Той представлява XML документ, с който можем лесно да обработваме нашите XML данни. В нашия пример ще създадем инстанция на този клас, за да инициираме XML документ.

Инстанциране на XDocument

В следващата стъпка ще създадеш инстанция на XDocument, която чете твоите XML данни. Ще наречем тази инстанция plzxdoc.

С командата Parse запълваш обекта със своя XML низ. Тази стъпка е основна, тъй като ти позволява да съхраняваш и манипулираш XML данните в твоята променлива plzxdoc.

Изпълнение на LINQ запитвания върху XML данни

След като заредиш XML документа си, следва важната заявка. LINQ ти позволява лесно да филтрираш определени данни. В нашия пример ще използваме LINQ to XML, за да филтрираме всички пощенски кодове.

Подготовка на LINQ запитване

Тази заявка преминава през всички елементи на XML документа, които представляват пощенски код, и ги филтрира по местоположение „Берлин“. В резултат получаваш само пощенските кодове, които отговарят на това условие.

Сортиране на резултатите

С LINQ можеш също така да сортираш филтрираните резултати.

Ефикасни LINQ запитвания за XML данни в C#

При това пощенският код е сортиран в низходящ ред, така че по-високите пощенски кодове се показват първи.

Изход на резултатите

Сега, след като имаш филтрираните и сортирани пощенски кодове, е време да ги изведеш на конзолата или в потребителски интерфейс.

Цикъл 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, като зададеш желаните свойства, по които да се сортира.