Задание: Написать программу для поиска в документе XML.
Краткие теоретический сведения
XML – eXtensible Markup Language – текстовый формат, предназначенный для хранения структурированных данных для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки.
XML – это описанная в текстовом формате иерархическая структура, предназначенная для хранения любых структурированных данных. Визуально структура может быть представлена как дерево элементов. Элементы XML описываются тегами. Основан на принципах иерархии.
Первая строка XML-документа называется объявлением XML (англ. XML declaration). Это строка, указывающая версию XML. В версии 1.0 объявление XML может быть опущено, но, начиная с версии 1.1, оно обязательно. Также здесь может быть указана кодировка символов и наличие внешних зависимостей.
Документ имеет только один корневой элемент (англ. root element) (так же иногда называемый элемент документа (англ. document element)). Это означает, что текст или другие данные всего документа должны быть расположены между единственным начальным корневым тегом и соответствующим ему конечным тегом.
Теги – остальная часть этого XML-документа, которая состоит из вложенных элементов, некоторые из которых имеют атрибуты и содержимое. Элемент обычно состоит из открывающего и закрывающего тегов, обрамляющих текст и другие элементы. Открывающий тег состоит из имени элемента в угловых скобках, а закрывающий тег состоит из того же имени в угловых скобках, но перед именем ещё добавляется косая черта. Имена элементов, как и имена атрибутов, не могут содержать пробелы, но могут быть на любом языке, поддерживаемом кодировкой XML-документа. Имя может начинаться с буквы, подчёркивания, двоеточия. Остальными символами имени могут быть те же символы, а также цифры, дефис, точка.
В любом месте дерева может быть размещен элемент-комментарий. XML-комментарии размещаются внутри специального тега, начинающегося с символов <!-- и заканчивающегося символами -->. Два знака дефис (--) внутри комментария присутствовать не могут.
Класс XmlTextReader предоставляет средство чтения, обеспечивающее быстрый прямой доступ (без кэширования) к данным XML. XmlTextReader обеспечивает однопроходный доступ только для чтения к потоку XML-данных. Текущим является узел, на котором расположен модуль чтения. Модуль чтения расширен с помощью любого из методов Read и Properties, отражая значение текущего узла.