Visual Basic kullanarak xml XPathNavigator sınıfıyla gezinme yöntemlerini

Makale çevirileri Makale çevirileri
Makale numarası: 301111 - Bu makalenin geçerli olduğu ürünleri görün.
Bir Microsoft Visual C# sürümü bu makale için bkz. 308343.
Bu, bir Microsoft Visual Basic 6.0 sürümü için makalesi için bkz: 271619.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu adım adım makalede nasıl gezineceğinizi göstermektedir. XPathDocument nesnesinden oluşturulan XPathNavigator nesne içeren Genişletilebilir Biçimlendirme Dili (xml) belgeleri. Bu örnek bir XPathDocument nesnesi ile xml verilerini yükler, verilerin üzerine bir görünüm olarak XPathNavigator nesnesi oluşturur ve yürüyen tarafından xml görüntüler belge içinde.

Gereksinimleri

, Aşağıdaki listede önerilen donanım, yazılım, ağ Altyapı ve gereksinim duyduğunuz hizmet paketleri:
  • Microsoft Windows Server 2003, Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Server veya Microsoft Gelişmiş Windows NT 4.0 Server
  • Microsoft Visual Studio 2005 veya Microsoft Visual Studio .NET
Bu makalede, aşağıdaki konularda bilgi sahibi olduğunuz varsayılmaktadır:
  • xml terimleri
  • Oluşturma ve xml dosyalarını okuma
  • xml Path Language (XPath) sözdizimi

XPathNavigator sınıf xml gezinmek için nasıl kullanılacağı

  1. Visual Studio 2005 veya Visual Studio. net, oluşturma bir Visual Basic 2005 veya Visual Basic .net konsol uygulaması.

    Not Bu örnek, Books.xml adlı bir dosya kullanır. Oluşturabileceğiniz kendi Books.xml dosyası veya içerdiği örnek kullanabilirsiniz Hızlı Başlangıç .net software Development Kit (sdk) ipuçları. Hızlı Başlangıç ipuçları varsa Books.xml yüklüyse, aşağıdaki klasörde bulunur:
    \Program Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    Alternatif olarak, Bu dosya aşağıdaki Web sitesini ziyaret ederek edinebilecekleri:
    http://msdn.microsoft.com/en-us/library/Windows/Desktop/ms762271 (v=vs.85) .aspx

    Books.xml için kopyalamalısınız. Oluşturduğunuz bu klasörü altında bulunan \Bin\Debug klasörü Proje.
  2. Proje System.Xml ad alanındaki başvurduğundan emin olun.
  3. Bildirimleri niteleme zorunda değilsiniz Xml ve XPath ad Imports ifadesini kullanın Daha sonra kodunuzda bu ad alanlarında. Tüm diğer bildirimlerden önce Imports deyimini kullanmanız gerekir.
    Imports System.Xml
    Imports System.Xml.XPath
    					
  4. Uygun değişkenleri bildirin. xml belgesini tutacak bir XPathDocument nesnesi ve XPath deyimleri değerlendirmek ve arasında gezinmek için XPathNavigator nesnesinin bildirmek Belge. XPath ifadesi tutacak bir String nesnesi bildirin. Bildirim kodu ekleyin Module1 ana yordamda.
    Dim nav As XPathNavigator
    Dim docNav As XPathDocument
    					
  5. XPathDocument nesnesi Books.xml örnek dosyasını yükleyin. XPathDocument sınıfı, Genişletilebilir Stil sayfası dil dönüşümleri (xslt) kullanır. xml Belge işleme için hızlı ve performans odaklı bir önbellek sağlamak. xml Belge Nesnesi Modeli (dom) benzer, ancak yüksek oranda optimize edilmiştir işleme xslt ve XPath veri modeli.
    'Open the XML.
    docNav = New XPathDocument("books.xml")
    					
  6. XPathNavigator nesnesinin belgeden oluşturun. XPathNavigator iki öznitelik düğümleri arasında hareket etmenize olanak sağlar ve ad alanı düğümleri bir xml belgesi.
    'Create a navigator to query with XPath.
    nav = docNav.CreateNavigator
    					
  7. MoveToRoot yöntemi ile belge kök dizinine taşıyın. MoveToRoot Gezgin tamamını içeren belge düğümü ayarlar. düğümler ağacı olarak.
    'Initial XPathNavigator to start at the root.
    nav.MoveToRoot()
    					
  8. xml belgesinin alt öğeleri taşımak için MoveToFirstChild yöntemini kullanın. MoveToFirstChild yöntemini geçerli düğümünün ilk alt öğeye taşır. Durumda kök belgeye uzağa taşıma Books.xml kaynağının çocuklar, açıklama bölümüne ve Bookstore'u düğüm.
    'Move to the first child node (comment field).
    nav.MoveToFirstChild()
    					
  9. Kardeş düzeyinde düğümleri arasında yineleme için MoveToNext yöntemini kullanın. MoveToNext yöntemi, geçerli dü?ümün bir sonraki eşdüzeyi taşır.
    'Loop through all the root nodes.
    Do
        ...
    Loop While nav.MoveToNext
    					
  10. Öğe düğümleri yalnızca işleme emin olmak için NodeType özelliğini kullanın, ve öğenin metin gösterimi görüntülemek için değer özelliğini kullanın.
    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. Herhangi bir öznitelik düğümü olup olmadığını belirlemek için HasAttributes özelliğini kullanın. Yapabilecekleriniz Ayrıca MoveToNextAttributegibi diğer yöntemlerin değerini incelemek ve bir öznitelik taşımak için kullanın. Not Bu Kod Bölütü yalnızca kök düğümü bağımlısı walks ve değil tüm ağaç.
    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. Konsol ekranı sonunda daha fazla bilgi için bir Duraklama eklemek için Konsol nesnesinin ReadLine yöntemini kullanın yedeğe yukarıdaki sonuçları görüntüler.
    'Pause.
    Console.ReadLine()
    					
  13. Oluşturup Console Application projenizi çalıştırın.

Tam kod listesi

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
				

Referanslar

İçin Daha fazla bilgi için aşağıdaki Microsoft Developer Network (msdn) Web sitesini ziyaret siteler:
.net xml: .net Framework xml sınıfları ve C# sunan basit ve ölçeklenebilir veri işleme
http://msdn.microsoft.com/msdnmag/issues/01/01/XML

XPathNavigator sınıf
http://msdn.microsoft.com/en-us/library/System.XML.XPath.XPathNavigator.aspx

XPathDocument sınıf
http://msdn.microsoft.com/en-us/library/System.XML.XPath.xpathdocument.aspx

xslt dönüştürmeleri çok sınıf
http://msdn.microsoft.com/en-us/library/System.XML.xsl.XslTransform.aspx

XPath örnekleri
http://msdn.microsoft.com/en-us/library/ms256086.aspx
İçin Daha fazla bilgi için aşağıdaki World Wide Web Consortium (W3C) Web sitesini ziyaret edin:
xml Path Language (XPath)
Sürüm 1.0: W3C önerisi 16 Kasım 1999
http://www.w3.org/TR/1999/rec-XPath-19991116

Özellikler

Makale numarası: 301111 - Last Review: 5 Temmuz 2012 Perşembe - Gözden geçirme: 1.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Anahtar Kelimeler: 
kbvs2005applies kbvs2005swept kbdownload kbsample kbhowtomaster kbmt KB301111 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 301111

Geri Bildirim Ver

 

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