Home Page Home Page Tips & Tricks Come creare delle Query usando XPath

Come creare delle Query usando XPath


Per recuperare dei valore all’interno di un file XML ci sono diversi sistemi, uno dei più veloci è quello di utilizzare le query XPath, che vengono utilizzate all’interno del DOM di XML.

Come esempio prendiamo questo semplice file XML che si chiama “Elenco.xml”:

<?xml version="1.0" encoding="utf-8" ?>
<Elencofile>
<NomeFile>Organigramma.xml</NomeFile>
<NomeFile>Configurazione.xml</NomeFile>
<StartFile>notepad.exe</StartFile>
</Elencofile>

Per prima cosa è necessario importare il namespace relativo all'XML:

Imports System.XML

Per esempio vogliamo recuperare il valore del nodo Startfile, la query Xpath sarà:

"//StartFile"

Attraverso la classe XmlDocument ci bastano poche righe:

Codice .NET n°1
Dim doc As New XmlDocument()
doc.Load(“Elenco.xml”)
Dim node As XmlNode
node = doc.SelectSingleNode("//StartFile")


Il metodo SelectSingleNode recupera il primo nodo che corrisponde alla query facendo una scansione del documento dall’alto verso il basso.

Se invece dobbiamo recuperare una lista di valori il metodo da usare è SelectNodes

Nel nostro esempio:

Codice .NET n°2
Dim Doc As New XmlDocument()
Doc.Load(“Elenco.xml”)
Dim nodelist As XmlNodeList
nodelist = Doc.SelectNodes("//NomeFile")


XmlNodeList è un array di nodi quindi poi basterà scorrerlo per poter accedere ai singoli nodi.


Conclusione


Le query XPath non sono complicate dal punto di vista sintattico basta far riferimento alla guida del SDK, soprattutto la cosa importante e che se cambia la struttura del documeto XML non dobbiamo apportare nessuna modifica al nostro codice (l'importante è che il nome del nodo resti uguale).


Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5