Способы перехода XML с помощью класса XPathNavigator, используя Visual Basic

Переводы статьи Переводы статьи
Код статьи: 301111 - Vizualiza?i produsele pentru care se aplic? acest articol.
Для версии Microsoft Visual C# этой статьи см. 308343.
Это версия 6.0 Visual Basic Microsoft для в статье, см. 271619.
Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье описывается переход Расширяемый язык разметки (XML) документы с объектом XPathNavigator , который создается из объекта XPathDocument . В этом примере загружает объект XPathDocument с данными XML, создает объект XPathNavigator как представлением данных и отображает XML путем просмотра по документу.

Требования

В Ниже приведены оборудования, программного обеспечения, сети инфраструктуры и пакетов обновления, необходимо:
  • Microsoft Windows Server 2003, Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server или Microsoft Сервер Windows NT 4.0
  • Visual Studio Microsoft 2005 или Microsoft Visual Studio .NET
Это предполагается, что вы знакомы с следующие разделы:
  • Терминология XML.
  • Создание и чтение XML-файлов
  • Синтаксис языка XML Path (XPath)

Использование класса XPathNavigator для перемещения XML

  1. В 2005 г. Visual Studio или Visual Studio. NET, создание 2005 Visual Basic или Visual Basic .NET консольного приложения.

    Примечание В этом примере используется файл с именем Books.xml. Можно создать файл Books.xml или использовать образец, который входит в состав Примеры использования комплект SDK для разработки программного обеспечения .NET. Если у вас есть примеры использования установки Books.xml находится в следующей папке:
    \Program Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    Кроме того, Этот файл можно получить, посетив следующий веб-узел:
    .aspx http://MSDN.Microsoft.com/en-us/library/Windows/Desktop/ms762271 (v=vs.85)

    Необходимо скопировать файл Books.xml в Папку \bin\Debug, расположенный в папке, в котором создана эта проект.
  2. Убедитесь, что проект ссылается на пространство имен System.Xml .
  3. Использовать оператор Imports для пространств имен Xml и XPath , таким образом, не требуется указывать объявления в этих пространствах имен в коде. Необходимо использовать оператор Imports перед всеми остальными объявлениями.
    Imports System.Xml
    Imports System.Xml.XPath
    					
  4. Объявите соответствующих переменных. Объявите объект XPathDocument для хранения XML-документ и объект XPathNavigator для вычисления выражений XPath и перемещения по документ. Объявите строковый объект для выражения XPath. Добавьте код в объявление процедура Main в Module1.
    Dim nav As XPathNavigator
    Dim docNav As XPathDocument
    					
  5. Загрузите объект XPathDocument в примере файл Books.xml. Класс XPathDocument использует преобразования расширяемого языка стилей (XSLT) для обеспечения быстрого и производительности кэша для обработки XML-документов. Аналогично для модели объектов документа XML (DOM), но значительно оптимизирован для обработки XSLT и модели данных XPath.
    'Open the XML.
    docNav = New XPathDocument("books.xml")
    					
  6. Создайте объект XPathNavigator из документа. XPathNavigator используется для перемещения по узлам атрибутов и узлы пространств имен в XML-документе.
    'Create a navigator to query with XPath.
    nav = docNav.CreateNavigator
    					
  7. Перемещение корневого документа с помощью метода MoveToRoot . MoveToRoot задает навигатор на узел документа, который содержит весь дерево узлов.
    'Initial XPathNavigator to start at the root.
    nav.MoveToRoot()
    					
  8. Используйте метод MoveToFirstChild для перемещения для дочерних XML-документа. Метод MoveToFirstChild перемещает первый дочерний элемент текущего узла. В случае источника Books.xml при перемещении от корневого документа в дочерние элементы, в разделе комментариев и узел Bookstore.
    'Move to the first child node (comment field).
    nav.MoveToFirstChild()
    					
  9. С помощью метода MoveToNext итерацию узлов на уровне того же уровня. Перемещение метода MoveToNext следующий одноуровневый элемент текущего узла.
    'Loop through all the root nodes.
    Do
        ...
    Loop While nav.MoveToNext
    					
  10. Убедитесь, что только обработке узлов элемента следует использовать свойство NodeType и использовать свойство Value для отображения представления текста элемента.
    Do
        'Find the first element.
        If nav.NodeType = XPathNodeType.Element Then
    'If children exist.
    If nav.HasChildren Then
    
        'Move to the first child.
        nav.MoveToFirstChild()
    
        'Loop through all the children.
        Do
    'Display the data.
    Console.Write("The XML string for this child ")
    Console.WriteLine("is '{0}'", nav.Value)
    Loop While nav.MoveToNext
    
    End If
        End If
    Loop While nav.MoveToNext
    					
  11. Чтобы определить наличие атрибутов у узла с помощью свойства HasAttributes выполняется . Вы можете также можно используйте другие методы, например MoveToNextAttribute, для перемещения атрибута и проверять его значение. Обратите внимание, это сегмент кода проходит только через потомки корневого узла и не всего дерева.
    Do
        'Find the first element.
        If nav.NodeType = XPathNodeType.Element Then
    'if children exist
    If nav.HasChildren Then
    
        'Move to the first child.
        nav.MoveToFirstChild()
    
        'Loop through all the children.
        Do
    'Display the data.
    Console.Write("The XML string for this child ")
    Console.WriteLine("is '{0}'", nav.Value)
    
    'Check for attributes.
    If nav.HasAttributes Then
        		Console.WriteLine("This node has attributes")
    End If
    Loop While nav.MoveToNext
    
    End If
        End If
    Loop While nav.MoveToNext
    					
  12. Добавить паузу в конце отображения консоли более с помощью метода ReadLine объекта консоли легко отображать результаты выше.
    'Pause.
    Console.ReadLine()
    					
  13. Построение и запуск проекта консольного приложения.

Полный пример кода

Imports System.Xml
Imports System.Xml.XPath

Module Module1

    Sub Main()
        Dim nav As XPathNavigator
        Dim docNav As XPathDocument
        docNav = New XPathDocument("books.xml")
        nav = docNav.CreateNavigator
        nav.MoveToRoot()
        'Move to the first child node (comment field).
        nav.MoveToFirstChild()

        Do
            'Find the first element.
            If nav.NodeType = XPathNodeType.Element Then
                'if children exist
                If nav.HasChildren Then

                    'Move to the first child.
                    nav.MoveToFirstChild()

                    'Loop through all the children.
                    Do
                        'Display the data.
                        Console.Write("The XML string for this child ")
                        Console.WriteLine("is '{0}'", nav.Value)

                        'Check for attributes.
                        If nav.HasAttributes Then
                            Console.WriteLine("This node has attributes")
                        End If
                    Loop While nav.MoveToNext

                End If
            End If
        Loop While nav.MoveToNext

        'Pause.
        Console.ReadLine()

    End Sub

End Module
				

Ссылки

Для Дополнительные сведения, посетите следующий веб-узла Microsoft Developer Network (MSDN) сайты:
XML в .NET: классы XML платформа.NET Framework и C# предлагают простой, масштабируемые данными
http://MSDN.Microsoft.com/msdnmag/issues/01/01/XML

XPathNavigator Класс
http://MSDN.Microsoft.com/en-us/library/System.XML.XPath.XPathNavigator.aspx

XPathDocument Класс
http://MSDN.Microsoft.com/en-us/library/System.XML.XPath.XPathDocument.aspx

Преобразования XSLT с классом XslTransform
http://MSDN.Microsoft.com/en-us/library/System.XML.XSL.XslTransform.aspx

Примеры XPath
http://MSDN.Microsoft.com/en-us/library/ms256086.aspx
Для Дополнительные сведения, посетите следующий веб-узел консорциума World Wide Web (W3C):
Язык XML Path (XPath)
Версии 1.0: Рекомендация W3C 16 ноября 1999
http://www.w3.org/TR/1999/rec-XPath-19991116

Свойства

Код статьи: 301111 - Последний отзыв: 30 сентября 2012 г. - Revision: 6.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Ключевые слова: 
kbvs2005applies kbvs2005swept kbdownload kbsample kbhowtomaster kbmt KB301111 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: 301111

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com