Как найти xml элемент по его атрибуту?

Из этой статьи Вы узнаете, как найти xml элемент по его атрибуту с помощью простого LINQ запроса. И так для начала создадим Windows Forms приложение и поместим на форму: два элемента управления textBox (txtAtrName и txtAtrValue), кнопку и один listBox. Затем добавим в наш проект xml файл, который содержит следующую структуру:

Windows forms приложение

Задача: найти все xml элементы, которые содержат атрибут «age» со значением 25. Надеюсь, Вы уже знаете, что такое XML и как с ним работать, поэтому сразу же переходим к решению задачи.

исходный код

Результат

найденные xml элементы

Всё работает, но если Вы сейчас попытаетесь найти XML элемент, у которого атрибут «age» не существует, то в результате Вы получите исключение. Например, не много изменим XML файл и удалим у четвертого элемента атрибут «age».

Выполним выше указанный код, в результате получаем исключение NullReferenceException.

исключение

Чтобы этого избежать нужно, добавить в Linq запрос проверку на null. То есть сначала мы должны убедиться, что XML атрибут существует, а только потом получить его значение.

Теперь всё в порядке.

Читайте также:

Похожие темы

Чтение Xml файла с выводом данных в DataGridView в... Как выполнить чтение xml файла с выводом данных в DataGridView? В этой статье хочу показать на простом примере, как можно выполнить чтение xml файла ...
Атрибуты XML файла Атрибуты XML файла В прошлой статье Вы узнали, как работать с элементами и узлами XML файла. В этой статье Вы узнаете, что такое атрибуты, а так же р...
В чём отличие между методом Nodes и Descendants?... В чём разница между методом Nodes и Descendants? В этой статье хочу рассказать про метод Descendants и показать его отличие от метода Nodes при работ...
Выгрузка данных из базы данных Mysql в XML на c#... Как выгрузить данные из базы данных Mysql в XML? В этой статье рассмотрим на простом примере, как выполняется выгрузка данных из базы данных Mysql в ...
Как добавить XML файл в Solution Explorer... Как добавить XML файл в проект В окне Solution Explorer нажмите правую кнопку мыши на имени текущего проекта. В появившемся контекстном меню выберите...