Asp.Net e XML
ASP.NET utilizza XML in modo trasparente, come vedremo nel nostro esempio.
Sono molti gli oggetti di documentiXML a disposizione dello sviluppatore in ambiente ASP.NET e che sono figli del namespaceSystem.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 .NetFramework.
Nel prossimo esempio vediamo piuttosto come sia possibile caricare un documento XML da unDataSet e visualizzarlo, in modo trasparente, in un DataGrid.
Caricare un DataSet da un fileXML
Lo scopo ultimo dell’esempio è di visualizzare in unaDataGrid pagina dei dati provenienti da un file Xml:
È stata realizzata una funzione CaricaXml contenente il codice per popolare il DataSet.
objDataSet.ReadXmlSchema(strLocPath & "XmlSchema.xml")
Con il metodo ReadXmlSchema delDataSet viene caricato da disco il file di definizione dell’XML, così da poter verificare la conformità del documentoXML che verrà successivamente aperto.
objDataSet.ReadXml(strLocPath & "XmlDocument.xml")
Con altrettanta semplicità viene caricato il documentoXML, utilizzando questa 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 che rappresenta i libri (cioè i nodi identificati dal tag Libri).
Come per un normale DataBind viene poi associata la vista di default al controlloDataGrid.
Ti potrebbe interessare anche
commenta la notizia
Chiedi alla nostra Redazione!