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 to 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, указывая необходимые свойства, по которым следует сортировать.