Antonio Feliziani
a- a+

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:

  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 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 documentoXML cheverrà successivamente aperto.

    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 default al controlloDataGrid.