您目前已離線,請等候您的網際網路重新連線

不支援您的瀏覽器

您必須更新瀏覽器,才能使用此網站。

更新至最新版本的 Internet Explorer

如何使用 Visual Basic 來巡覽與 XPathNavigator 類別的 XML

本文曾發行於 CHT301111
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:301111
本篇文章中,Microsoft Visual C# 版本請參閱 308343.
這為 Microsoft Visual Basic 6.0 版主文件編號,請參閱 271619.
結論
本文將逐步說明如何巡覽與建立從XPathDocument物件的XPathNavigator物件的可延伸標記語言 (XML) 文件。這個範例會載入XPathDocument物件的 XML 資料、 建立XPathNavigator物件,以檢視至資料,並顯示推進的 XML整份文件。

需求

[以下概括列出建議的硬體、 軟體、 網路基礎結構,您需要的 service pack:
  • Microsoft Windows Server 2003 中,Microsoft Windows 2000專業,Windows 2000 Server、 Windows 2000 進階伺服器或 MicrosoftWindows NT 4.0 伺服器
  • Microsoft Visual Studio 2005年或 Microsoft Visual Studio.NET
這本文假設您已熟悉下列主題:
  • XML 的術語
  • 建立及讀取 XML 檔案
  • XML 路徑語言 (XPath) 語法

如何使用 XPathNavigator 類別來巡覽 XML

  1. Visual Studio 或 Visual Studio 2005年中。NET 中建立Visual Basic 2005年或 Visual Basic 的.net 主控台應用程式。

    附註這個範例會使用名為 [Books.xml 的檔案。您可以建立Books.xml 檔案,或者您可以使用隨附的範例.NET 軟體開發套件 (SDK) 快速入門。如果您擁有快速入門安裝,Books.xml 位於下列資料夾:
    \Program Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    或者,您可以藉由造訪下列網站取得這個檔案:
    您必須複製到 Books.xml位於您建立這個資料夾下的 \Bin\Debug 資料夾專案。
  2. 請確定專案會參考命名空間。
  3. 使用XmlXPath的命名空間的Imports陳述式,以便您不需要限定宣告在 [程式碼中,稍後這些命名空間。您必須使用Imports陳述式,在任何其他宣告之前。
    Imports System.XmlImports System.Xml.XPath					
  4. 將適當的變數宣告。XPathDocument物件來保存 XML 文件和評估 XPath 運算式,並瀏覽的XPathNavigator物件宣告文件。宣告字串物件來保存 XPath 運算式。加入宣告程式碼中在 [Module1 Main程序。
    Dim nav As XPathNavigatorDim docNav As XPathDocument					
  5. 使用範例檔 Books.xml 載入XPathDocument物件。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 來源中,您會移開根文件中合併子系、 註解] 區段中,且書店節點。
    '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. 使用 [資料類型: 字串] 屬性以確定您只處理項目] 節點中,然後使用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.MoveToNextEnd If    End IfLoop While nav.MoveToNext					
  11. 使用HasAttributes屬性,以判斷節點是否有任何屬性。您可以也使用其他方法,例如MoveToNextAttribute,以移至屬性,並查看它的值。請注意這程式碼片段中只有逐步解說的根節點,並不整個樹狀結構。
    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. 使用ReadLine物件的方法主控台加入一段暫停結尾主控台顯示畫面的詳細資訊上述的結果,輕易地顯示。
    'Pause.Console.ReadLine()					
  13. 建置並執行主控台應用程式專案。

完整程式碼清單

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				
参考
針對相關資訊,請造訪下列的 Microsoft 開發人員網路 (MSDN) 網站站台: 針對相關資訊,請造訪下列全球資訊網協會 (W3C) 網站:
XML 路徑語言 (XPath)
1.0 版: W3C 建議事項 16 年 11 月1999
http://www.w3.org/TR/1999/REC-xpath-19991116
瀏覽 dotnet

警告:本文為自動翻譯

內容

文章識別碼:301111 - 最後檢閱時間:07/05/2012 16:31:00 - 修訂: 1.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 KbMtzh
意見反應