- Leggere e scrivere dati XML - |
|||
COSA SERVE PER QUESTO TUTORIAL | |||
Download | Chiedi sul FORUM | Glossario | Conoscenza dell'HTML- un server che supporti la tecnologia ASP .NET - facoltativamente un editor provvisto di intellisense (es. Macromedia Dreamweaver) | ||
Come leggere e scrivere dati in formato XML attraverso ASP .NET | |||
LEGGERE E SCRIVERE XML In poche righe di codice leggere e scrivere XML. 1) Per prima cosa nel nostro file .aspx importiamo gli spazi di nome necessari: <%@ Page Language="VB" Debug="true" %> System.XML è lo spazio di nomi che fornisce tutte le funzioni riguardanti XML mentre System.Data ci serve perchè contiene DataSet, oggetto fondamentale per la gestione dei dati. 2) Iniziamo uno script e dichiariamo un nuovo oggetto DataSet in cui metteremo i dati letti dal file XML: <script language="VB" runat="server"> Dim dsData As New DataSet() Sub Page_Load() 3) La funzione ReadXml di DataSet legge un file XML e lo trasferisce nel DataSet: dsData.ReadXml(Server.MapPath("Clientela.xml")) La sintassi per accedere ad un file XML è molto più semplice rispetto a quella per database in quanto l'intero file viene caricato interamente (mentre per i database solitamente si utilizzano query per filtrare i dati che interessano). Server.MapPath viene qui utilizzato per cercare il file "Clientela.xml" nella stessa cartella del file ASPX in esecuzione. 4) Ora visualizziamo i risultati e chiudiamo lo script: dgOutput.DataSource = dsData.Tables(0).DefaultView dgOutput.DataBind() End Sub </script> dgOutput è il nome della DataGrid che stiamo per creare; impostando la proprietà DataSource sulla DefaultView prima tabella del DataSet, nella DataGrid appariranno tutti i valori nel file XML. Per ora non è importante capire il significato delle righe appena sopra, ricordiamo solo che servono per mostrare i dati all'interno della griglia. 5) Ecco la tag della DataGrid che genererà una tabella con il contenuto del DataSet: <asp:DataGrid ID="dgOutput" runat="server"/> A questo punto possiamo già provare a eseguire il nostro file .aspx. 6) Ammettiamo ora di voler modificare un valore dando come riferimento la colonna e la riga: <form runat="server"> Riga: <asp:TextBox ID="Row" runat="server" /><br> Colonna: <asp:TextBox ID="Column" runat="server" /><br> Valore: <asp:TextBox ID="Value" runat="server" /><br> <asp:Button ID="Modifica" OnClick="Modify" runat="server" Text="Modifica" /> </form> Con questo form (da aggiungere dopo la DataGrid) diamo all'utente la possibilità di specificare la riga, la colonna e il nuovo valore all'interno di caselle di testo: dati indispensabili per eseguire una modifica. Si noti che è stata specificata la proprietà OnClick per il Button Modifca su Modify, nome della Sub che ora creeremo. 7) Dichiariamo la Sub Modify (prima o dopo la Sub Page_Load) che viene eseguita quando si preme il pulsante Modifica: Sub Modify(sender As Object, e As System.EventArgs) 8) Modifichiamo il DataSet (creato di in precedenza) nella riga specificata nella casella di testo Row, nella colonna specificata nella casella di testo Column: dsData.Tables(0).Rows(CInt(Row.Text))(CInt(Column.Text))=Value.Text CInt(stringa) serve per trasformare una stringa di testo in numero. Value è il nome della casella di testo contenente il nuovo valore. 9) Infine con l'istruzione WriteXml aggiorniamo il file XML alle modifiche che abbiamo apportato: dsData.WriteXml(Server.MapPath("Clientela.xml")) 10) Rieseguiamo il DataBind per aggiornare anche i risultati della DataGrid e poi chiudiamo la Sub: dgOutput.DataBind() End Sub Note: Se vi si presentano errori come 'Accesso al percorso "...\Clientela.xml" negato' significa che non disponete di un'autorizzazione di un livello sufficientemente elevato per poter accedere a quel file. Rivolgersi all'amministratore del sistema.
|
|||
<< INDIETRO | by VeNoM00 |