Asp.Net e XML
ASP.NET utilizza XML in modotrasparente, come vedremo nel nostro esempio.
Sono molti gli oggetti di documentiXML a disposizionedello sviluppatore in ambiente ASP.NET e che sono figli delnamespaceSystem.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 doponodo oltre a leggerli da disco fisso o convertendoli da altrioggetti. Per questo vi rimandiamo alla esaurientedocumentazione del .NetFramework.
Nel prossimo esempio vediamo piuttosto come sia possibilecaricare un documento XML da unDataSet e visualizzarlo, in modotrasparente, in un DataGrid.
Caricare un DataSetda un fileXML
Lo scopo ultimo dell’esempio è di visualizzarein unaDataGrid paginadei dati provenienti da un file Xml:
È stata realizzata una funzione CaricaXml contenenteil codice per popolare il DataSet.
objDataSet.ReadXmlSchema(strLocPath & "XmlSchema.xml")
Con il metodo ReadXmlSchema delDataSet viene caricato da disco il file didefinizione dell’XML, così dapoter verificare la conformità del documento
objDataSet.ReadXml(strLocPath & "XmlDocument.xml")
Con altrettanta semplicità viene caricato ildocumentoXML, utilizzandoquesta volta il metodo ReadXml.
objTableLibro = objDataSet.Tables("Libro") objTableView = objTableLibro.DefaultView libri.DataSource = objTableView libri.DataBind()
A questo punto, tra tutti i nodi, viene scelto quello cherappresenta i libri (cioè i nodi identificati daltag Libri).
Come per un normale DataBind viene poi associata la vista di