Gewusst wie: Navigieren in XML mit der XPathNavigator-Klasse mithilfe von Visual Basic

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 301111 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde zuvor veröffentlicht unter D301111
Für eine Microsoft Visual C# Version dieses Artikels, finden Sie unter 308343.
Für eine Version dieses Microsoft Visual Basic 6.0 Artikel, finden Sie unter 271619.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

In diesem Artikel wird veranschaulicht, wie navigieren Extensible Markup Language (XML)-Dokumenten mit einem XPathNavigator -Objekt, das aus einem XPathDocument -Objekt erstellt wird. In diesem Beispiel lädt ein XPathDocument -Objekt mit XML-Daten, erstellt ein XPathNavigator -Objekt als eine Ansicht der Daten und zeigt die XML-Daten durch durchlaufen durch das Dokument.

Anforderungen

Die folgende Liste führt die empfohlene Hardware, Software, Netzwerk Infrastruktur und Servicepacks, die Sie benötigen:
  • Microsoft Windows Server 2003, Microsoft Windows 2000 Professionelle, Erweiterte Windows 2000 Server, Windows 2000 Server oder Microsoft Windows NT 4.0 Server
  • Microsoft Visual Studio 2005 oder Microsoft-Visual Studio .NET
Dies Es wird vorausgesetzt, dass Sie mit den folgenden Themen vertraut sind:
  • XML-Terminologie
  • Erstellen und Lesen von XML-Dateien
  • Syntax von XML Path Language (XPath)

Wie XML-Navigation mithilfe die XPathNavigator-Klasse

  1. In 2005 von Visual Studio oder Visual Studio. NET, erstellen Sie eine Visual Basic 2005 oder Visual Basic-Konsolenanwendung.

    Hinweis Dieses Beispiel verwendet eine Datei namens "Books.xml". Sie erstellen können eine eigene Datei Books.xml oder das Beispiel verwenden, die in enthalten ist die .NET Software Development Kit (SDK) enthalten. Wenn Sie die Schnellstarts haben installiert haben, befindet Books.xml in folgendem Ordner:
    \Programme\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\Vb
    Alternativ Sie können diese Datei erhalten, indem Sie unter den folgenden Website:
    http://msdn.Microsoft.com/en-us/library/Windows/Desktop/ms762271 (v=vs.85) aspx

    Sie müssen "Books.xml" zum Kopieren der Ordner \Bin\Debug, die unter dem Ordner befindet, in dem Sie erstellt, Projekt.
  2. Stellen Sie sicher, dass das Projekt den System.Xml -Namespace verweist.
  3. Verwenden Sie die Imports -Anweisung für die Namespaces Xml und XPath , damit Sie keine Deklarationen vornehmen müssen in diesen Namespaces später im Code. Sie müssen die Imports -Anweisung vor allen anderen Deklarationen verwenden.
    Imports System.Xml
    Imports System.Xml.XPath
    					
  4. Deklarieren Sie die entsprechenden Variablen. Deklarieren Sie ein XPathDocument -Objekt für das XML-Dokument und ein XPathNavigator -Objekt zur Auswertung von XPath-Ausdrücken und Navigation der Dokument. Deklarieren Sie eine String -Objekt, halten den XPath-Ausdruck. Fügen Sie den Deklarationscode in die Main -Prozedur in Module1 hinzu.
    Dim nav As XPathNavigator
    Dim docNav As XPathDocument
    					
  5. Laden Sie ein XPathDocument -Objekt, mit der Beispieldatei "Books.xml". XPathDocument -Klasse verwendet Extensible Stylesheet Language Transformations (XSLT) Um einen schnellen und leistungsorientierten Cache für die Verarbeitung von XML-Dokumenten zu bieten. Es ist an die XML-Dokument (DOKUMENTOBJEKTMODELL) vergleichbar, jedoch ist in hohem Maße optimiert für XSLT-Verarbeitung und das XPath-Datenmodell.
    'Open the XML.
    docNav = New XPathDocument("books.xml")
    					
  6. Erstellen Sie ein XPathNavigator -Objekt, aus dem Dokument. XPathNavigator ermöglicht es Ihnen, durch die Attribute-Knoten zu verschieben und die Namespace-Knoten in einem XML-Dokument.
    'Create a navigator to query with XPath.
    nav = docNav.CreateNavigator
    					
  7. Mit der MoveToRoot -Methode können Sie in das Stammverzeichnis des Dokuments verschoben. MoveToRoot setzt den Navigator auf den Knoten des Dokuments, der die gesamte enthält Struktur von Knoten.
    'Initial XPathNavigator to start at the root.
    nav.MoveToRoot()
    					
  8. Verwenden Sie die MoveToFirstChild -Methode, um zu den untergeordneten Knoten des XML-Dokuments. Mit die Methode MoveToFirstChild wird auf das erste untergeordnete Element des aktuellen Knotens verschoben. Im Fall von der Quelle "Books.xml" sind Sie Weg von der Stammdokument in der Kinder, Abschnitt Kommentar und den Katalog-Knoten.
    'Move to the first child node (comment field).
    nav.MoveToFirstChild()
    					
  9. Verwenden Sie die MoveToNext -Methode, um Knoten auf der nebengeordneten Ebene zu durchlaufen. MoveToNext -Methode wird zum nächsten gleichgeordneten Knoten des aktuellen Knotens verschoben.
    'Loop through all the root nodes.
    Do
        ...
    Loop While nav.MoveToNext
    					
  10. Verwenden Sie die NodeType -Eigenschaft, um sicherzustellen, dass Sie nur Elementknoten bearbeiten, und verwenden Sie die Value -Eigenschaft, um die Textdarstellung des Elements anzuzeigen.
    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. Verwenden Sie die HasAttributes -Eigenschaft, um festzustellen, ob ein Knoten über Attribute verfügt. Sie können auch andere Methoden, z. B. MoveToNextAttribute, verschieben Sie auf ein Attribut und seinen Wert zu prüfen. Beachten Sie, dass dies Codesegment durchläuft nur die untergeordneten Elemente des Stammknotens und nicht die gesamte Struktur.
    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. Verwenden Sie die ReadLine -Methode des Objekts Console eine Pause am Ende der Konsolenanzeige mehr hinzu die oben genannten Ergebnisse leicht anzeigen.
    'Pause.
    Console.ReadLine()
    					
  13. Projekt erstellen Sie und führen Sie das Konsolenanwendung aus.

Vollständige Codeauflistung

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
				

Informationsquellen

Für Weitere Informationen finden Sie auf das folgenden Microsoft Developer Network (MSDN)-Web Sites:
XML in .net:.NET Framework-XML-Klassen und C# bieten einfache, skalierbare Datenverarbeitung
http://msdn.Microsoft.com/msdnmag/issues/01/01/XML

"XPathNavigator" Klasse
http://msdn.Microsoft.com/en-us/library/System.Xml.XPath.XPathNavigator.aspx

XPathDocument Klasse
http://msdn.Microsoft.com/en-us/library/System.Xml.XPath.XPathDocument.aspx

XSLT-Transformationen mit XslTransform-Klasse
http://msdn.Microsoft.com/en-us/library/System.Xml.Xsl.XslTransform.aspx

XPath-Beispiele
http://msdn.Microsoft.com/en-us/library/ms256086.aspx
Für Weitere Informationen finden Sie auf der Website des World Wide Web Consortium (W3C):
XML Path Language (XPath)
Version 1.0: W3C-Empfehlung 16. November 1999
http://www.w3.org/TR/1999/REC-xpath-19991116

Eigenschaften

Artikel-ID: 301111 - Geändert am: Donnerstag, 5. Juli 2012 - Version: 1.0
Die Informationen in diesem Artikel beziehen sich auf:
  • 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 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 301111
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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