Làm th? nào đ? đi?u hư?ng XML v?i l?p XPathNavigator b?ng cách s? d?ng Visual Basic

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 301111 - Xem s?n ph?m mà bài này áp d?ng vào.
Đ?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.
Bung t?t c? | Thu g?n t?t c?

? Trang này

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:
    http://MSDN.Microsoft.com/en-US/Library/Windows/Desktop/ms762271 (v=vs.85) .aspx

    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.Xml
    Imports 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 XPathNavigator
    Dim 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.MoveToNext
    
    End If
        End If
    Loop 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 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. 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.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
				

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

Thu?c tính

ID c?a bài: 301111 - L?n xem xét sau cùng: 05 Tháng Bảy 2012 - Xem xét l?i: 3.0
Áp d?ng
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
T? khóa: 
kbvs2005applies kbvs2005swept kbdownload kbsample kbhowtomaster kbmt KB301111 KbMtvi
Máy d?ch
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

Cung cấp Phản hồi

 

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