Навигация в XML-документе

однако все типы xml документов

Каждый из различных типов XML-документов имеет набор специализированных методов навигации, зависящих от специфической объектной модели, которую они экспонируют. Однако все типы XML-документов позволяют вам получить для документа XPathNavigator, Который дает возможность выдавать запросы и осуществлять навигацию, единообразно используя предпочтительную объектную модель для работы с XML в. NET. В предыдущем разделе вы увидели, как выполнять запросы к документу, возвращая итератор, который вы могли использовать для прохода по каждому из узлов, отвечавших запросу, и выполнения их обработки. Для работы с узлом вы получали из свойства Current Итератора ссылку на узел типа XPathNavigator. Когда у вас будет XPathNavigator На некоторый узел, вам часто потребуется выполнить какую-то навигацию в объектной модели в зависимости от вашей текущей позиции в ней. Например, если вы выбрали набор элементов Order, вам может потребоваться произвести навигацию по атрибутам этого элемента, чтобы извлечь их значения. Или, возможно, вы выполните запрос, чтобы получить некоторый элемент Customer, а затем захотите произвести навигацию по всем дочерним элементам, чтобы извлечь их значения, не выполняя отдельных запросов для каждого элемента. Класс XPathNavigator экспонирует набор методов MoveToxxx, которые позволяют перемещаться в объектной модели, которую он экспонирует, где ххх описывает узел, на который перемещается указатель. Каждый из методов MoveToxxx возвращает булево значение, показывающее, было ли перемещение успешным, в том смысле, что в предполагаемой позиции был узел, на который можно перейти. Заметьте, что атрибуты и пространства имен рассматриваются как специальные виды узлов, поскольку они могут содержаться только в открывающем теге уз — ла-элемента. Для навигации в атрибутах или пространствах имен используется отдельный набор методов MoveToxxx, показанный в таблице