Kuidas navigeerida XML-i XPathNavigator klassi Visual Basic abil

Microsoft Visual C# käesoleva artikli versiooni leiate artiklinumbriga
.

Selle artikli Microsoft Visual Basic 6.0 jaoks leiate artiklinumbriga
.

Kokkuvõte

Käesolevas juhendavas artiklis näitab laiendatav märgistuskeel (XML) dokumentides on XPathNavigator objekt, mis on loodud XPathDocument objekti kohta. Selle näite laadib XPathDocument objekti XML-andmetega, XPathNavigator objekti kuvada andmete importimiseks loob ja kuvab juhtides läbi dokumendi XML-i.

Nõuded

Järgmises loendis kirjeldatakse soovituslik riistvara, tarkvara, võrgutaristu ja hoolduspaketid, mida vajate:

  • Microsoft Windows Server 2003, Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server või Microsoft Windows NT 4.0 Server

  • Microsoft Visual Studio 2005 või Microsoft Visual Studio .NET

See artikkel eeldab, et olete tuttav järgmisi teemasid:

  • XML-i terminoloogia

  • Loomine ja lugemine XML-failid

  • XML-tee keel (XPath) süntaks

XPathNavigator klassi kasutada XML-i kasutamine

  1. Visual Studio 2005 või Visual Studio. NET, looge Visual Basic 2005 või Visual Basic .NET konsooli rakendus.

    Märkus. Selles näites kasutatakse faili, mille nimi on Books.xml. Saate luua oma Books.xml faili või kasutage näidis, mis on kaasatud .NET Software Development Kit (SDK) Quickstarts. Kui teil on installitud Quickstarts, Books.xml asub järgmises kaustas:

    \Program Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    Teise võimalusena saate hankida selle faili külastage järgmist veebisaiti:


    Kopeerite Books.xml \Bin\Debug kausta, mis asub kaustas, mille lõite seda projekti.

  2. Veenduge, et projekti viitaks System.Xml nimeruum.

  3. Kasuta impordi kinnitus XPath ja XML-i nimeruumid nii, et teil on vaja saada deklaratsioonide nende nimeruumid hiljem koodis. Kasutage enne muude deklaratsioonide impordi kinnitus.

    Imports System.XmlImports System.Xml.XPath

  4. Tuvastada asjakohased muutujad. Deklareeri XPathDocument objekti hoidmiseks XML-dokument ja objekti XPathNavigator hindamiseks XPathi avaldised ja liikuda dokument. Deklareeri String objekti hoidmiseks XPathi avaldis. Lisage peamised protseduuri Module1 deklaratsiooni kood.

    Dim nav As XPathNavigatorDim docNav As XPathDocument

  5. Objekti XPathDocument , mille näidisfail Books.xml laadida. XPathDocument klassi kasutab Extensible Stylesheet Language teisendused (XSLT) kiire ja tulemustele orienteeritud vahemälu XML dokumendi töötlemiseks. See sarnaneb XML Document Object Modeli (DOM), kuid on väga optimeeritud XSLT töötlemine ja XPath andmemudel.

    'Open the XML.docNav = New XPathDocument("books.xml")

  6. Saate luua dokumendi objekti XPathNavigator . XPathNavigator võimaldab sõlmed atribuute ja nimeruumi sõlme XML-dokumendis liikuda.

    'Create a navigator to query with XPath.nav = docNav.CreateNavigator

  7. Teisaldage dokumendi juurkausta MoveToRoot meetodiga. MoveToRoot määrab selle Navigatori dokumendi sõlmeni, mis sisaldab kogu puu sõlmed.

    'Initial XPathNavigator to start at the root.nav.MoveToRoot()

  8. MoveToFirstChild meetodi abil saate teisaldada laste XML-dokument. MoveToFirstChild meetod liigub esimese lapse sõlmpunkt. Books.xml allika puhul teisaldate eemal juur dokument laste, kommentaar jagu ja sõlme raamatupood.

    'Move to the first child node (comment field).nav.MoveToFirstChild()

  9. Sirvib läbi sõlmed vend tasemel MoveToNext meetodi abil. MoveToNext meetod liigub järgmine õdeüksus sõlmpunkt.

    'Loop through all the root nodes.Do
    ...
    Loop While nav.MoveToNext

  10. Veenduge, et on ainult töötlemise elemendi sõlmed NodeType atribuudi abil ja atribuudi väärtus abil saate kuvada elemendi tekstina.

    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. Atribuudi HasAttributes abil saate määratleda, kas sõlm on muud atribuudid. Saate muid meetodeid, näiteks MoveToNextAttributeatribuudi teisaldada ja kontrollige selle väärtus. Pange tähele, et see kood segment aitab ainult na juur sõlme ja mitte kogu puu.

    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. Objekti konsool ReadLine meetod abil saate lisada ka pause konsool ekraani kuvamiseks kergemini ülaltoodud tulemuste lõpus.

    'Pause.Console.ReadLine()

  13. Luua ja käivitada konsooli rakendus projekti.

Täieliku koodi nimekirja

Imports System.XmlImports 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

Viited

Lisateabe saamiseks külastage järgmist Microsoft Developer Networki (MSDN) veebisaite:

XML-i .NET: .NET Framework XML klassid ja C# pakkuda lihtne ja paindlik andmete käsitlemise


XPathNavigator klass


XPathDocument klass


XSLT teisendused XslTransform klass


XPath näited
Lisateabe saamiseks külastage järgmist World Wide Webi konsortsiumi (W3C) veebisaiti:

XML-tee keel (XPath)
Versioon 1.0: W3C soovitus 16 November 1999

Kas vajate veel abi?

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liitu Microsofti Insideri programmis osalejad

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×