ASP.NET e Xml

Corso ASP.NET: undicesima puntata

Esempio funzionante | Sorgente | Scarica il sorgente (zip)

ASP.NET utilizza Xml in modo trasparente, come vedremo nel nostro esempio.

Sono molti gli oggetti di documenti Xml a disposizione dello sviluppatore in ambiente ASP.NET e che sono figli del namespace System.Xml:

  1. XmlDocument: utilizzato per accedere ai file Xml come previsto dallo standard W3c per il Dom Xml
  2. XmlDataDocument: estende il precedente oggetto con caratteristiche che consente di trattare un documento Xml come fosse una sorgente dati relazione (e viceversa) e quindi di “connettersi” ad un documento Xml
  3. XPathDocument: è un oggetto molto prestazionale utilizzato per eseguire interrogazioni XPath sul documento (così da “navigarlo”)

Non ci soffermiamo ulteriormente su questi oggetti, né su quelli (come l’XmlTextReader e l’XmlTextWriter) che creano documenti nodo dopo nodo oltre a leggerli da disco fisso o convertendoli da altri oggetti. Per questo vi rimandiamo alla esauriente documentazione del .Net Framework.

Nel prossimo esempio vediamo piuttosto come sia possibile caricare un documento Xml da un DataSet e visualizzarlo, in modo trasparente, in un DataGrid.

Caricare un DataSet da un file Xml

Lo scopo ultimo dell’esempio è di visualizzare in una DataGrid pagina dei dati provenienti da un file Xml:

È stata realizzata una funzione CaricaXml contenente il codice per popolare il DataSet.

 34   objDataSet.ReadXmlSchema(strLocPath & "XmlSchema.xml")

Con il metodo ReadXmlSchema del DataSet viene caricato da disco il file di definizione dell’Xml, così da poter verificare la conformità del documento Xml che verrà successivamente aperto.

 38   objDataSet.ReadXml(strLocPath & "XmlDocument.xml")

Con altrettanta semplicità viene caricato il documento Xml, utilizzando questa volta il metodo ReadXml.

 42   objTableLibro = objDataSet.Tables("Libro")
 43     
 44   objTableView = objTableLibro.DefaultView
 45   
 46   libri.DataSource = objTableView
 47   libri.DataBind()

A questo punto, tra tutti i nodi, viene scelto quello che rappresenta i libri (cioè i nodi identificati dal tag Libri).

Come per un normale DataBind viene poi associata la vista di default al controllo DataGrid.

Tag: , ,
  • ASP.NET: DataReader e DataSet
    Proviamo sul campo gli oggetti che permettono di interagire con un database. Il DataReader è un oggetto di sola lettura e connesso, mentre il DataSet è disconnesso dalla sorgente dati...
  • ASP.NET: Introduzione ad ADO.NET
    ADO.NET dispone di un modello ad oggetti fortemente disconnesso. L'uso di Xml è quasi trasparente al programmatore ed è favorito l'uso delle tecniche di Data Binding con i controlli ASP.NET...
  • ASP.NET e Xml - Codice sorgente dell’esempio
    Sorgenti: LeggiXml.aspx Scarica i sorgenti: aspnet11.zip Articolo a cui si riferisce il codice: ASP.NET e Xml LeggiXml.aspx   1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   3    4 <%@ Page Language="VB" Debug="True" %>   5    6 <%@ Import Namespace="System.Data" %>   7 <%@ Import Namespace="System.Data.OleDb" %>   8    9 <%@ Register TagPrefix="ANet" TagName="Footer" Src="includes/footer.ascx"%>  10   11 <!–  12 # nome:...
  • ASP.NET: Politiche di Caching
    ASP.NET introduce un sofisticato meccanismo di caching, attivo sia a livello di pagina, sia di oggetti. Offre la possibilità di legare la permanenza in cache utilizzando dipendenze temporali o tra oggetti ...
  • ASP.NET: DataReader e DataSet - Codice sorgente dell’esempio
    Sorgenti: DataReader.aspx - DataSet.aspx - Connessione.ascx Scarica i sorgenti: aspnet10.zip Articolo a cui si riferisce il codice: ASP.NET: DataReader e DataSet DataReader.aspx   1   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   3    4 <%@ Page Language="VB" Debug="True" %>   5    6 <%@ Import Namespace="System.Data" %>   7 <%@ Import Namespace="System.Data.OleDb" %>   8    9 <%@ Register TagPrefix="cnn" TagName="connection"...

Scrivi un commento

Non è possibile inserire commenti per questo intervento.