XML означає розширювану мовну розмітку і є широко поширеним форматом даних, який використовується для структурованого зберігання інформації, будь то адресні книжки, дані погоди або інші збори даних. У цьому посібнику я покажу тобі, як ефективно обробляти XML-файли в C# за допомогою LINQ (інтегрований запит мови). Ми будемо крок за кроком розглядати обробку, сортування та фільтрацію 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 до XML, щоб відфільтрувати всі поштові індекси.
Підготовка LINQ-запиту
Цей запит проходить через усі елементи XML-документа, які представляють поштовий індекс, і фільтрує їх за місцем "Берлін". У результаті ти отримуєш лише поштові індекси, які відповідають цій умові.
Сортування результатів
Завдяки LINQ ти також можеш сортувати відфільтровані результати.

При цьому поштовий індекс сортується за спаданням, тому вищі поштові індекси відображаються першими.
Виведення результатів
Тепер, коли ти маєш відфільтровані та відсортовані поштові індекси, настав час вивести їх на консолі або в інтерфейсі користувача.
Цикл ForEach для виводу
За допомогою цього циклу ти отримуєш доступ до значень району та поштового індексу і виводиш їх у форматованому вигляді на консолі.
Резюме – Програмування LINQ з XML-даними в C
У цьому посібнику ти навчився, як завантажувати, фільтрувати та виводити XML-дані в C# за допомогою LINQ. Спочатку ти ознайомився з основами XML і LINQ та підключив відповідні простори імен. Потім ти створив екземпляр XDocument і використав LINQ-запит для обробки даних. Нарешті, ти сортував відфільтровані дані та виводив їх на консолі.
Часто задавані питання
Що таке XML?XML означає розширювану мовну розмітку і використовується для структурованого зберігання даних.
Що таке LINQ?LINQ - це мова для інтеграції запитів у.NET, яка дозволяє запитувати та маніпулювати даними декларативно.
Як я можу фільтрувати XML-дані за допомогою LINQ?Ти можеш фільтрувати XML-дані за допомогою LINQ-запиту, задаючи умови для бажаних елементів та атрибутів, наприклад, where (string)plz.Element("Ort") == "Берлін".
Як я можу сортувати результати за допомогою LINQ?Результати можуть бути відсортовані за допомогою методу OrderBy або OrderByDescending, вказуючи бажані властивості, за якими потрібно сортувати.