Come spostarsi in XML con la classe XPathNavigator utilizzando Visual Basic

Traduzione articoli Traduzione articoli
Identificativo articolo: 301111 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo Ŕ stato precedentemente pubblicato con il codice di riferimento I301111
Per una versione di questo articolo, Microsoft Visual C# vedere 308343.
Per una versione di Microsoft Visual Basic 6.0 di questo articolo, vedere 271619.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo viene illustrato come spostarsi Documenti di Extensible Markup Language (XML) con un oggetto XPathNavigator viene creato da un oggetto XPathDocument . In questo esempio carica un oggetto XPathDocument con dati XML, viene creato un oggetto XPathNavigator come una vista dei dati e visualizza il codice XML spostandosi nel documento.

Requisiti

Il Nell'elenco che segue vengono indicati l'hardware consigliato, software, rete infrastruttura e i service Pack necessari:
  • Microsoft Windows Server 2003, Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server o Microsoft Windows NT 4.0 Server
  • Microsoft Visual Studio 2005 o Microsoft Visual Studio .NET
Questo si presume che abbia familiaritÓ con i seguenti argomenti:
  • Terminologia XML
  • Creazione e lettura di file XML
  • Sintassi XML Path Language (XPath)

Come utilizzare la classe XPathNavigator per spostarsi in XML

  1. In Visual Studio 2005 o in Visual Studio. NET, creare un Visual Basic 2005 o applicazione di Console Visual Basic.

    Nota In questo esempio viene utilizzato un file denominato Books. Xml. ╚ possibile creare il file Books. XML, oppure Ŕ possibile utilizzare l'esempio fornito con il .NET software Development Kit (SDK) Quickstarts. Se si dispone di Guide rapide installate, Books. XML si trova nella seguente cartella:
    Programmi \ Microsoft.NET \FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    In alternativa, Ŕ possibile ottenere questo file, visitare il seguente sito Web:
    aspx http://msdn.microsoft.com/en-us/library/Windows/Desktop/ms762271 (v=vs.85)

    ╚ necessario copiare il file Books. XML per la Cartella \Bin\Debug, che si trova sotto la cartella in cui Ŕ creato progetto.
  2. Assicurarsi che il progetto fa riferimento lo spazio dei nomi System. XML .
  3. Utilizzare l'istruzione Imports negli spazi dei nomi Xml e XPath in modo che non sia necessario qualificare le dichiarazioni in tali spazi dei nomi nel codice. ╚ necessario utilizzare l'istruzione Imports prima di qualsiasi altra dichiarazione.
    Imports System.Xml
    Imports System.Xml.XPath
    					
  4. Dichiarare le variabili appropriate. Dichiarare un oggetto XPathDocument contenga il documento XML e un oggetto XPathNavigator per valutare le espressioni XPath e spostarsi al documento. Dichiarare un oggetto stringa per contenere l'espressione XPath. Aggiungere il codice della dichiarazione in routine Main di Module1.
    Dim nav As XPathNavigator
    Dim docNav As XPathDocument
    					
  5. Caricare un oggetto XPathDocument con il file di esempio Books. Xml. La classe XPathDocument utilizza Extensible Stylesheet Language Transformations (XSLT) per fornire una cache veloce e orientata alle prestazioni per l'elaborazione del documento XML. ╚ simile al documento oggetto Model (DOM) XML ma altamente ottimizzata per l'elaborazione XSLT e il modello di dati XPath.
    'Open the XML.
    docNav = New XPathDocument("books.xml")
    					
  6. Creare un oggetto XPathNavigator dal documento. XPathNavigator consente di spostare i nodi degli attributi e il nodi dello spazio dei nomi in un documento XML.
    'Create a navigator to query with XPath.
    nav = docNav.CreateNavigator
    					
  7. Spostarsi alla radice del documento con il metodo MoveToRoot . MoveToRoot imposta lo spostamento al nodo del documento che contiene l'intero struttura di nodi.
    'Initial XPathNavigator to start at the root.
    nav.MoveToRoot()
    					
  8. Utilizzare il metodo MoveToFirstChild per passare ai figli del documento XML. Il metodo MoveToFirstChild sposta al primo figlio del nodo corrente. Nel caso di dell'origine Books. XML che si desidera spostare dal documento principale nel bambini, la sezione di commento e il nodo Bookstore.
    'Move to the first child node (comment field).
    nav.MoveToFirstChild()
    					
  9. Utilizzare il metodo MoveToNext per scorrere i nodi di pari livello. Il metodo MoveToNext Sposta pari livello successivo del nodo corrente.
    'Loop through all the root nodes.
    Do
        ...
    Loop While nav.MoveToNext
    					
  10. Utilizzare la proprietÓ NodeType per assicurarsi che elaborano solo i nodi elemento, e utilizzare la proprietÓ Value per visualizzare la rappresentazione testo dell'elemento.
    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. Utilizzare la proprietÓ HasAttributes per determinare se un nodo possiede attributi. ╚ possibile utilizzare anche altri metodi, ad esempio MoveToNextAttribute, per passare a un attributo e verificarne il valore. Nota che questo segmento di codice illustra solo i discendenti del nodo principale e non il tutta la struttura.
    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. Utilizzare il metodo ReadLine dell'oggetto Console per aggiungere una pausa alla fine della visualizzazione della console a pi¨ visualizzare immediatamente i risultati sopra indicati.
    'Pause.
    Console.ReadLine()
    					
  13. Generare ed eseguire il progetto applicazione Console.

Elenco completo del codice

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
				

Riferimenti

Per ulteriori informazioni, visitare il seguente Web Microsoft Developer Network (MSDN) siti:
XML in .net: le classi XML di.NET Framework e C# offrono la manipolazione dei dati semplice e scalabile
http://msdn.microsoft.com/msdnmag/issues/01/01/XML

XPathNavigator classe
http://msdn.microsoft.com/en-us/library/System.Xml.XPath.XPathNavigator.aspx

XPathDocument classe
http://msdn.microsoft.com/en-us/library/System.Xml.XPath.XPathDocument.aspx

Trasformazioni XSLT mediante la classe XslTransform
http://msdn.microsoft.com/en-us/library/System.Xml.Xsl.XslTransform.aspx

Esempi XPath
http://msdn.microsoft.com/en-us/library/ms256086.aspx
Per ulteriori informazioni, visitare il seguente sito Web World Wide Web Consortium (W3C):
XML Path Language (XPath)
Versione 1.0: Raccomandazione W3C 16 novembre 1999
http://www.w3.org/TR/1999/REC-xpath-19991116

ProprietÓ

Identificativo articolo: 301111 - Ultima modifica: giovedý 5 luglio 2012 - Revisione: 1.0
Le informazioni in questo articolo si applicano a:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Chiavi:á
kbvs2005applies kbvs2005swept kbdownload kbsample kbhowtomaster kbmt KB301111 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 301111
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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