Làm thế nào để điều hướng XML với lớp XPathNavigator bằng cách sử dụng Visual Basic

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 301111
Đối với một Microsoft Visual C# Phiên bản của bài viết này, xem 308343.
Đối với một phiên bản Microsoft Visual Basic 6.0 này bài viết, xem 271619.
TÓM TẮT
Bài viết này-by-step minh hoạ làm thế nào để điều hướng Extensible Markup Language (XML) tài liệu với một đối tượng XPathNavigator được tạo ra từ một đối tượng XPathDocument . Mẫu này tải một đối tượng XPathDocument với dữ liệu XML, tạo ra một đối tượng XPathNavigator như là một cái nhìn vào dữ liệu và hiển thị các XML bằng cách đi bộ thông qua các tài liệu.

Yêu cầu

Các danh sách sau đây phác thảo được đề nghị phần cứng, phần mềm, mạng cơ sở hạ tầng, và gói bản ghi dịch vụ mà bạn cần:
  • Microsoft Windows Server 2003, Microsoft Windows 2000 Chuyên nghiệp, Windows 2000 Server, Windows 2000 Advanced Server, hoặc Microsoft Máy chủ Windows NT 4.0
  • Microsoft Visual Studio 2005 hoặc Microsoft Visual Studio .NET
Điều này bài giả định rằng bạn đã quen thuộc với các chủ đề sau:
  • Thuật ngữ XML
  • Tạo và đọc tập tin XML
  • Cú pháp Ngôn ngữ đường XML (XPath)

Làm thế nào để sử dụng XPathNavigator lớp để điều hướng XML

  1. Trong Visual Studio 2005 hoặc trong Visual Studio. NET, tạo ra một Visual Basic 2005 hoặc ứng dụng giao diện điều khiển .net Visual Basic.

    Lưu ý Ví dụ này sử dụng một tập tin được đặt tên Books.xml. Bạn có thể tạo tệp Books.xml riêng của bạn, hoặc bạn có thể sử dụng mẫu được bao gồm với các .Net phần mềm phát triển Kit (SDK) Quickstarts. Nếu bạn có các Quickstarts cài đặt chuyên biệt, Books.xml được đặt trong cặp sau:
    \Program Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    Ngoài ra, bạn có thể nhận tập tin này bằng cách truy cập các web site sau đây:
    Bạn phải sao chép Books.xml để các mục tin thư thoại \Bin\Debug nằm dưới mục tin thư thoại mà bạn tạo ra điều này dự án.
  2. Đảm bảo rằng các dự án tham chiếu không gian tên System.Xml .
  3. Sử dụng các báo cáo hàng nhập khẩu trên không gian tên XmlXPath do đó bạn không cần phải vượt qua vòng loại tờ khai trong những không gian tên sau trong mã của bạn. Bạn phải sử dụng các báo cáo hàng nhập khẩu trước khi bất kỳ tờ khai khác.
    Imports System.XmlImports System.Xml.XPath					
  4. Khai báo các biến thích hợp. Tuyên bố một đối tượng XPathDocument để giữ các tài liệu XML và một đối tượng XPathNavigator để đánh giá XPath expressions và di chuyển qua các tài liệu. Tuyên bố một đối tượng String giữ XPath expression. Thêm mã tuyên bố trong các thủ tục chính trong Module1.
    Dim nav As XPathNavigatorDim docNav As XPathDocument					
  5. Tải một đối tượng XPathDocument với các tập tin mẫu Books.xml. XPathDocument lớp sử dụng Ngôn ngữ biểu phong cách mở rộng biến đổi (XSLT) để cung cấp một bộ nhớ cache nhanh chóng và hiệu quả theo định hướng để xử lý tài liệu XML. Nó là tương tự như để XML Document Object Model (DOM) nhưng cao tối ưu hóa XSLT chế biến và mô hình dữ liệu XPath.
    'Open the XML.docNav = New XPathDocument("books.xml")					
  6. Tạo một đối tượng XPathNavigator từ các tài liệu. XPathNavigator cho phép bạn để di chuyển qua cả các thuộc tính nút chọn một và các không gian tên các nốt trong tài liệu XML.
    'Create a navigator to query with XPath.nav = docNav.CreateNavigator					
  7. Di chuyển vào mục tin thư thoại gốc của tài liệu với các phương pháp MoveToRoot . MoveToRoot đặt hoa tiêu nút chọn một tài liệu có chứa toàn bộ cây của các nút chọn một.
    'Initial XPathNavigator to start at the root.nav.MoveToRoot()					
  8. Sử dụng các phương pháp MoveToFirstChild để di chuyển đến các trẻ em của các tài liệu XML. Phương pháp MoveToFirstChild di chuyển đến con đầu tiên của nút chọn một hiện tại. Trong trường hợp Books.xml nguồn, bạn đang di chuyển đi từ các tài liệu gốc vào các trẻ em, phần bình luận, và nút chọn một nhà sách.
    'Move to the first child node (comment field).nav.MoveToFirstChild()					
  9. Sử dụng MoveToNext phương pháp để iterate qua các nút chọn một ở cấp độ Anh chị em. Phương pháp MoveToNext di chuyển đến anh chị em tiếp theo của nút chọn một hiện tại.
    'Loop through all the root nodes.Do    ...Loop While nav.MoveToNext					
  10. Sử dụng các tài sản NodeType để đảm bảo rằng bạn đang chỉ xử lý tố nút chọn một, và sử dụng các tài sản giá trị để hiển thị văn bản đại diện của nguyên tố.
    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.MoveToNextEnd If    End IfLoop While nav.MoveToNext					
  11. Sử dụng các tài sản HasAttributes để xác định liệu một nút chọn một có thuộc tính bất kỳ. Bạn có thể cũng sử dụng các phương pháp khác, chẳng hạn như MoveToNextAttribute, để di chuyển đến một thuộc tính và kiểm tra giá trị của nó. Lưu ý rằng điều này phân đoạn mã chỉ đi qua các con cháu của nút chọn một gốc và không phải là toàn bộ cây.
    Do    'Find the first element.    If nav.NodeType = XPathNodeType.Element Then'if children existIf 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 IfLoop While nav.MoveToNextEnd If    End IfLoop While nav.MoveToNext					
  12. Sử dụng các phương pháp ReadLine của đối tượng giao diện điều khiển để thêm một tạm dừng vào cuối màn hình giao diện điều khiển để thêm dễ dàng hiển thị kết quả trên.
    'Pause.Console.ReadLine()					
  13. Xây dựng bật lên và chạy dự án ứng dụng giao diện điều khiển của bạn.

Danh sách mã hoàn chỉnh

Imports System.XmlImports System.Xml.XPathModule 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 SubEnd Module				
THAM KHẢO
Cho thêm thông tin, hãy truy cập web site Microsoft Developer Network (MSDN) sau các trang web:
XML trong net: các lớp học Khuôn khổ .NET XML và C# cung cấp dữ liệu đơn giản, khả năng mở rộng thao tác
http://MSDN.Microsoft.com/msdnmag/issues/01/01/XML

XPathNavigator lớp học
http://MSDN.Microsoft.com/en-US/Library/System.xml.XPath.xpathnavigator.aspx

XPathDocument lớp học
http://MSDN.Microsoft.com/en-US/Library/System.xml.XPath.xpathdocument.aspx

XSLT biến đổi với các lớp học XslTransform
http://MSDN.Microsoft.com/en-US/Library/System.xml.XSL.xsltransform.aspx

Ví dụ XPath
http://MSDN.Microsoft.com/en-US/Library/ms256086.aspx
Cho thêm thông tin, ghé thăm Web site sau của World Wide Web Consortium (W3C):
Ngôn ngữ đường XML (XPath)
Phiên bản 1.0: W3C khuyến nghị 16 tháng 11 1999
http://www.w3.org/TR/1999/Rec-XPath-19991116
duyệt dotnet

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 301111 - Xem lại Lần cuối: 07/05/2012 16:31:00 - Bản sửa đổi: 3.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 KbMtvi
Phản hồi