Come fare a...
Web
Come fare a...

Lavorare con Xml e ASP.NET

XML e XPath, scopriamo di che si tratta

Pagine: 1 di 3 AvantiTop
Autore: Alessandro Ghizzardi - Tratto da: ASP.NET Guida pratica allo sviluppo - Edizioni FAG
Acquista il libro online Il primo passo per arrivare a un website completo e funzionante è conoscere tutti i modi possibili per persistere i dati, da sempre il compito più comune in ogni applicazione web. In questo articolo parleremo di Xml, il modo più veloce e standard per interagire con dati esterni.

Cos’è Xml

Xml è l’acronimo di eXtensible Markup Language. È, come dice il nome, un linguaggio a marcatori estensibile. È detto “estensibile” perché non ha delle regole fisse di formattazione come HTML, dove ogni oggetto ha il suo tag che deve essere rispettato. L’Xml è definito da chi lo crea e ha solo un forte set di regole di formattazione per mantenerlo standard.
Xml è stato introdotto come linguaggio universale di interscambio di dati nel 1998 dall’onnipresente W3 Consortium. La necessità era quella di trovare uno standard comune che venisse imposto alle industrie, in modo che sistemi eterogenei potessero finalmente comunicare tra loro.


Figura 1: il sito del W3 Consortium relativo a Xml

Prima di Xml, ogni sistema aveva il suo linguaggio proprietario. I sistemi informatici dell’epoca basavano la propria fortuna su protocolli in parte proprietari. Lo scambio di dati era possibile solo tra sistemi omogenei e la comunicazione con l’esterno era gestita da altri sistemi, che si mettevano in mezzo a fare da filtro, con complesse e dispendiose, in termini di performance, operazioni di traduzione dei dati.
L’estendersi dei sistemi informatici dalla nicchia delle grandi aziende alla folla di gente che iniziava a usare Internet, ha reso pressante il bisogno di un linguaggio universale che permettesse a ogni sistema di scambiare informazioni con gli altri, senza doversi sobbarcare il costo di complicati sistemi di conversione.
L’idea di Xml in realtà è semplicissima: ogni documento Xml è organizzato in nodi, o elementi. Ogni documento deve avere un’intestazione e un nodo padre. Da questo nodo possono partire quanti nodi figli si vuole, ramificati all’infinito in maniera gerarchica. Ogni nodo può avere un contenuto testuale e/o una serie di attributi, che ne definiscono le proprietà. L’integrità di un documento Xml è assicurata da rigide regole di formattazione, che impongono una nomenclatura uniforme tra i nodi (minuscolo e maiuscolo sono differenti) e la corretta nidificazione degli elementi (ogni elemento deve essere aperto e chiuso nella giusta sequenza, senza sovrapposizioni).


Figura 2: tipica sintassi Xml in un feed Rss

La vera forza di Xml è, in realtà, il lavoro svolto dal W3 Consortium per definire standard comuni partendo da una semplice bozza e imporre questo standard a tutti i sistemi informatici come protocollo di scambio di comunicazioni.
Malgrado questo complesso lavoro, esistono tuttora sistemi informatici detti legacy, termine che è spesso e volentieri tradotto con antiquato, che non utilizzano questo linguaggio come standard di scambio dati, la maggior parte delle volte per gli enormi costi che si dovrebbero sopportare per il passaggio dei dati e delle applicazioni già esistenti. Fortunatamente, però, la maggior parte delle strutture informatiche li utilizza correntemente, e praticamente ogni linguaggio di sviluppo esistente implementa proprie classi per la lettura e la gestione del formato Xml. Il .NET Framework mette a disposizione tutti gli oggetti presenti nel namespace System.Xml per interagire e operare con questo formato.

XPath

XPath è l’acronimo di Xml Path Language. XPath è un linguaggio simile, per certi versi, alle Regular Expression. Definisce un linguaggio di interrogazione per controllare parti di Xml, selezionarle o evidenziarle. È stato introdotto e definito come standard dal solito W3 Consortium nel 1999 e da allora è il metodo migliore per eseguire query anche complesse sugli elementi di un documento Xml.


Figura 3: il sito del W3 Consortium relativo a XPath

La potenza di XPath è di poter selezionare abbastanza facilmente un singolo nodo, o gruppi di nodi, a partire da condizioni dinamiche, come il nome del nodo, il contenuto, la posizione, la presenza o meno di un attributo. È utilizzato spesso per ottenere un sottoinsieme di dati da un documento Xml complesso, in modo da poter eseguire operazioni di ricerca o lettura su insiemi più ristretti.

Continua: 1 di 3 Avanti
Condividi

Edizioni FAG Milano

Vedi anche...

Sempre aggiornato





Abbonati alla newsletter di Come fare a... Sottoscrivi l'RSS di Come fare a... Usi Windows Live Messenger? Abbonati ai nostri Windows Live Alerts Diventa fan di Come fare a... su Facebook Seguici su Twitter Scarica il Widget per Mac OS X