วิธีการนำทาง XML กับคลา XPathNavigator โดยใช้ Visual Basic

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 301111 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
สำหรับรุ่น Microsoft Visual C# บทความนี้ ดู 308343.
สำหรับ Microsoft Visual Basic 6.0 รุ่นนี้ บทความ ดู 271619.
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความที่มีการทีละขั้นตอนนี้แสดงให้เห็นถึงวิธีการนำทาง Extensible Markup Language (XML) เอกสารที่ มีวัตถุXPathNavigatorที่ถูกสร้างขึ้นจากวัตถุXPathDocument ตัวอย่างนี้โหลดวัตถุXPathDocumentด้วยข้อมูล XML สร้างวัตถุXPathNavigatorเป็นมุมมองไปยังข้อมูล และแสดง XML โดย walking ผ่านเอกสาร

ความต้องการ

ที่ รายการต่อไปนี้แสดงฮาร์ดแวร์ที่แนะนำ ซอฟต์แวร์ เครือข่าย โครงสร้างพื้นฐาน และ service pack ที่คุณต้องการ:
  • เซิร์ฟเวอร์ของ Microsoft Windows 2003, Microsoft Windows 2000 ขั้นระดับมืออาชีพ Windows 2000 Server, Windows 2000 สูงเซิร์ฟเวอร์ หรือ Microsoft เซิร์ฟเวอร์ Windows NT 4.0
  • Microsoft Visual Studio ที่ 2005 หรือ Microsoft Visual Studio .NET
นี้ บทความอนุมานว่า คุณคุ้นเคยกับหัวข้อต่อไปนี้:
  • คำศัพท์ XML
  • การสร้างและอ่านแฟ้ม XML
  • ไวยากรณ์ของภาษา XML Path (XPath)

วิธีการใช้คลา XPathNavigator เพื่อไปยัง XML

  1. ใน Visual Studio 2005 หรือ ใน Visual Studio สุทธิ สร้างคำ โปรแกรมประยุกต์คอนโซลของ Visual Basic .NET หรือ Visual Basic 2005

    หมายเหตุ ตัวอย่างนี้ใช้แฟ้มที่ชื่อ Books.xml คุณสามารถสร้าง แฟ้มของคุณเอง Books.xml หรือคุณสามารถใช้ตัวอย่างที่มาพร้อมกับการ .NET ซอฟต์แวร์พัฒนา Kit (SDK) Quickstarts ถ้าคุณมีการ Quickstarts การติดตั้ง 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 namespace
  3. ใช้คำสั่งนำเข้าnamespaces XmlและXPathเพื่อให้คุณไม่จำเป็นจะได้รับการประกาศ ใน namespaces เหล่านั้นในภายหลังในรหัสของคุณ คุณต้องใช้คำสั่งนำเข้าก่อนที่จะประกาศอื่น ๆ
    Imports System.Xml
    Imports System.Xml.XPath
    					
  4. ประกาศตัวแปรเหมาะสม ประกาศวัตถุXPathDocumentเพื่อจัดเก็บเอกสาร XML และวัตถุXPathNavigatorเพื่อประเมินนิพจน์ XPath และย้ายไป เอกสาร ประกาศเป็นวัตถุของสายอักขระเพื่อเก็บนิพจน์ XPath เพิ่มรหัสประกาศใน ขั้นตอนหลักใน Module1
    Dim nav As XPathNavigator
    Dim docNav As XPathDocument
    					
  5. โหลดวัตถุXPathDocumentกับแฟ้มตัวอย่าง Books.xml คลาXPathDocumentใช้ Extensible สไตล์ชีภาษาแปลง (XSLT) เพื่อให้การแคชอย่างรวดเร็ว และประสิทธิภาพการทำงานแนวสำหรับการประมวลผลเอกสาร XML เหมือนกับ XML เอกสารวัตถุแบบจำลอง (DOM) แต่จะปรับให้เหมาะอย่างยิ่ง สำหรับการประมวลผล XSLT และโมเดลข้อมูล XPath
    'Open the XML.
    docNav = New XPathDocument("books.xml")
    					
  6. สร้างวัตถุXPathNavigatorจากเอกสาร XPathNavigatorช่วยให้คุณย้ายไปมาระหว่างทั้งสองโหนแอตทริบิวต์และ โหนด namespace ในเอกสาร XML
    'Create a navigator to query with XPath.
    nav = docNav.CreateNavigator
    					
  7. ย้ายไปยังรากของเอกสาร ด้วยวิธีการMoveToRootMoveToRootตั้งค่าตัวนำทางที่เป็นโหนดการเอกสารที่ประกอบด้วยทั้งตัว แผนภูมิของโหนด
    '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เพื่อตรวจสอบให้แน่ใจว่า คุณมีเฉพาะประมวลผลองค์ประกอบที่โหน และใช้ค่าคุณสมบัตินี้เมื่อต้องแสดงการแสดงข้อความขององค์ประกอบ
    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เพื่อย้ายไปยังแอตทริบิวต์ และค่าของการตรวจสอบ หมายเหตุว่านี้ โค้ดเซ็กเมนต์แนะนำเท่านั้นผ่านทาง descendents ของโหนดราก และไม่ แผนภูมิทั้งหมด
    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 สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้ ไซต์:
XML ใน.NET: คลาสที่.NET Framework XML และ 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

ไปป์ที่ มีคลา 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 Consortium (W3C) ต่อไปนี้:
ภาษา XML Path (XPath)
เวอร์ชั่น 1.0: คำแนะนำ w 3 c 16 พฤศจิกายน 1999
http://www.w3.org/TR/1999/REC-xpath-19991116

คุณสมบัติ

หมายเลขบทความ (Article ID): 301111 - รีวิวครั้งสุดท้าย: 5 กรกฎาคม 2555 - Revision: 2.0
ใช้กับ
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Keywords: 
kbvs2005applies kbvs2005swept kbdownload kbsample kbhowtomaster kbmt KB301111 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้: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