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

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

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

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

исходный код

Результат

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


Проект codebyOS

Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

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

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

исключение

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

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

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


Проект codebyOS

Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

Похожие темы

Как переименовать домен виртуальной машины KVM (VM... Как переименовать виртуальную машину на основе KVM с foo на bar, используя опцию командной строки virsh в Linux? Существует два способа переименования...
Как добавить образ диска в виртуальную машину KVM ... Как добавить дополнительное дисковое хранилище в гостевую ОС на виртуальную машину KVM с командой virsh в операционной системе Linux? Вы можете легко...
Язык XML практика и теория Введение в язык XML Данный раздел посвящен работе с XML. В нём будет собран, как теоретический, так и практический материал. Будут рассмотрены основн...
DOM — Объектная модель документа для работы ... DOM часть первая В состав библиотеки базовых классов (BCL) платформы .NET Framework входит сборка System.Xml.dll, в которой хранится реализация техно...
Работа с xml файлами XML DOM 2 В предыдущей статье были описаны общие понятия касающиеся XML. В этой статье научимся выполнять основные действия, связанные с изменением, ...