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:
- XmlDocument: utilizzato per accedere ai file Xml come previsto dallo standard W3c per il Dom Xml
- 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
- 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.
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.
Con altrettanta semplicità viene caricato il documento Xml, utilizzando questa volta il metodo ReadXml.
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.