Cum să navigați XML cu clasa XPathNavigator utilizând Visual Basic

Traduceri articole Traduceri articole
ID articol: 301111 - View products that this article applies to.
Pentru o versiune Microsoft Visual C# a prezentului articol, a se vedea 308343.
Pentru o versiune de Microsoft Visual Basic 6.0 a acestui articolul, vedea 271619.
Măriți totul | Reduceți totul

În această pagină

REZUMAT

Acest articol etapizat ilustrează Mod navigare Documente Markup Language (XML) extensibil cu un obiect de XPathNavigator , care este creat dintr-un obiect XPathDocument . Acest eșantion încarcă un obiect XPathDocument cu date XML, creează un obiect XPathNavigator ca o vizualizare Proiect pe datele și afișează XML de mers pe jos prin document.

Cerin?ele

The Listă tabel următoare evidențiază hardware recomandate, software, rețea infrastructură și pachete de service care aveți nevoie:
  • Microsoft Windows Server 2003, Microsoft Windows 2000 Profesional, Windows 2000 Server, Windows 2000 Advanced Server sau Microsoft Windows NT 4.0 Server
  • Microsoft Visual Studio 2005 sau Microsoft Visual Studio .NET
Acest lucru articolul presupune că sunteți familiarizați cu următoarele subiecte:
  • Terminologia XML
  • Crearea și citirea fișierelor XML
  • Limbaj XPath (XPath) sintaxă

Modul de utilizare a clasei XPathNavigator pentru a naviga XML

  1. În Visual Studio 2005 sau în Visual Student. NET, a crea un 2005 Visual Basic sau Visual Basic .net Consola de aplicații.

    Notă Acest exemplu utilizează un fișier denumit Books.xml. Aveți posibilitatea să creați propriul fișier de Books.xml, sau puteți utiliza proba care este inclusă în .Net software Development Kit (SDK) Quickstarts. Dacă aveți Quickstarts instalat, Books.xml se află în următorul folder:
    \Program Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    Alternativ, Puteți obține acest fișier vizitând următorul site Web:
    http://msdn.Microsoft.com/en-us/library/Windows/desktop/ms762271 (v=vs.85) .aspx

    Trebuie să copiați Books.xml la Folderul \Bin\Debug care se află sub folderul în care ați creat acest lucru proiect.
  2. Asigurați-vă că proiectul face referire System.Xml spațiul de nume.
  3. Utilizați instrucțiunea importurile pe spațiile de nume Xml și XPath astfel încât tu nu sunt necesare pentru a se califica declara?iile în aceste spații de nume mai târziu în codul dumneavoastră. Trebuie să utilizați instrucțiunea importurile înainte de orice alte declara?ii.
    Imports System.Xml
    Imports System.Xml.XPath
    					
  4. Variabilele corespunzătoare. Declara un obiect XPathDocument să dețină documentul XML și un obiect XPathNavigator pentru a evalua expresii XPath și deplasa documentul. Declara un șir obiect să dețină expresia XPath. Adauga codul declara?ia în procedura principală în Module1.
    Dim nav As XPathNavigator
    Dim docNav As XPathDocument
    					
  5. Încărcați un obiect XPathDocument cu fișierul de probă Books.xml. Clasa XPathDocument utilizează Limbaj XSL (Extensible Stylesheet Language) Transformations (XSLT) să se prevadă un cache rapid și de performanță-orientate spre procesare document XML. Este similară la XML Document Object Model (DOM), dar este foarte optimizat pentru transformarea XSLT și modelul acoperire de date XPath.
    'Open the XML.
    docNav = New XPathDocument("books.xml")
    					
  6. Creați un obiect XPathNavigator din document. XPathNavigator vă permite să vă deplasa prin ambele nodurile atributele și spațiul de nume nodurile dintr-un document XML.
    'Create a navigator to query with XPath.
    nav = docNav.CreateNavigator
    					
  7. Mutare la rădăcina documentului cu metoda MoveToRoot . MoveToRoot seturi navigator la nodul documentul care conține întreaga arbore de noduri.
    'Initial XPathNavigator to start at the root.
    nav.MoveToRoot()
    					
  8. Utilizați metoda MoveToFirstChild pentru a muta copii din documentul XML. Metoda MoveToFirstChild mută primul copil al nodului curent. În cazul surse de Books.xml, vă sunt trecerea de la rădăcina documentului în copii, secțiunea comentariu și nodul librărie.
    'Move to the first child node (comment field).
    nav.MoveToFirstChild()
    					
  9. Utilizați metoda MoveToNext pentru a repeta prin noduri la nivelul frate. Metoda MoveToNext se mută la următoarea frate al nodului curent.
    'Loop through all the root nodes.
    Do
        ...
    Loop While nav.MoveToNext
    					
  10. Utilizați proprietatea NodeType să vă asigurați că vă sunt prelucrare numai elementul noduri, și utilizați proprietatea valoare pentru a afișa textul reprezentarea a elementului.
    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. Utilizați proprietatea HasAttributes pentru a determina dacă un nod are orice atribute. poți utiliza ?i alte metode, cum ar fi MoveToNextAttribute, pentru a muta la un atribut și inspecta valoarea sa. Notă că acest lucru segmentul de cod numai plimbări prin urmașii de nodul rădăcină și nu întreaga copac.
    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. Utilizați metoda ReadLine obiectului consola pentru a adăuga o pauză la sfârșitul afișarea Consola de la mai multe u?or afișează rezultatele mai sus.
    'Pause.
    Console.ReadLine()
    					
  13. Construi și a alerga al tău proiect Consola de aplicații.

Completa codul cota

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
				

REFERINȚE

Pentru mai multe informații, vizitați următoarele Web Rețea Microsoft pentru dezvoltatori (MSDN) site-uri:
XML în .net: clase .net cadru XML și C# oferta de manipulare a datelor simplă, scalabilă
http://msdn.Microsoft.com/msdnmag/issues/01/01/XML

XPathNavigator Clasa
http://msdn.Microsoft.com/en-us/library/System.XML.XPath.xpathnavigator.aspx

XPathDocument Clasa
http://msdn.Microsoft.com/en-us/library/System.XML.XPath.xpathdocument.aspx

XSLT transformări cu clasa XslTransform
http://msdn.Microsoft.com/en-us/library/System.XML.xsl.xsltransform.aspx

XPath exemple
http://msdn.Microsoft.com/en-us/library/ms256086.aspx
Pentru mai multe informații, vizitați următorul site Web World Wide Web Consortium (W3C):
Limbaj XPath (XPath)
Versiunea 1.0: W3C recomandarea 16 noiembrie 1999
http://www.w3.org/TR/1999/REC-XPath-19991116

Proprietă?i

ID articol: 301111 - Ultima examinare: 5 iulie 2012 - Revizie: 1.0
SE APLICĂ LA:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Cuvinte cheie: 
kbvs2005applies kbvs2005swept kbdownload kbsample kbhowtomaster kbmt KB301111 KbMtro
Traducere automată
IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, si nu de un traducător. Microsoft vă oferă atât articole traduse de persoane, cât și articole traduse automat, astfel incat aveti access la toate articolele din Baza noastră de informatii în limba dvs. materna. Totuși, un articol tradus automat nu este întotdeauna perfect. Acesta poate conține greșeli de vocabular, sintaxă sau gramatică, la fel cum un vorbitor străin poate face greșeli vorbind limba dvs. materna. Compania Microsoft nu este responsabilă pentru nici o inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conținutului sau de utilizarea traducerii necorespunzătoare de către clienții nostri. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.
Face?i clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 301111

Trimite?i feedback

 

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