XML означает Расширяемый Язык Разметки и представляет собой широко распространенный формат данных, который используется для структурированного хранения информации, будь то адресные книги, данные о погоде или другие наборы данных. В этом руководстве я покажу тебе, как эффективно обрабатывать XML-файлы в C# с помощью LINQ (Язык интегрированных запросов). Мы шаг за шагом займемся обработкой, сортировкой и фильтрацией 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 означает Расширяемый Язык Разметки и используется для структурированного хранения данных.

Что означает LINQ?LINQ — это язык интеграции запросов в.NET, который позволяет запрашивать и манипулировать данными декларативным образом.

Как отфильтровать XML-данные с помощью LINQ?Ты можешь фильтровать XML-данные с помощью LINQ-запроса, установив условия для желаемых элементов и атрибутов, например, where (string)plz.Element("Ort") == "Берлин".

Как сортировать результаты с помощью LINQ?Результаты могут сортироваться с помощью метода OrderBy или OrderByDescending, указывая необходимые свойства, по которым следует сортировать.