Procedura dettagliata: lettura dei dati XML in un dataset
In ADO.NET sono disponibili semplici metodi per lavorare con i dati XML. In questa procedura dettagliata verrà creata un'applicazione Windows con la quale i dati XML saranno caricati in un DataSet. Il dataset verrà quindi visualizzato in un DataGridView. Infine, in una casella di testo verrà visualizzato codice XML Schema basato sul contenuto del file XML.
La procedura dettagliata è costituita da cinque passaggi principali:
Creazione di un nuovo progetto
Creazione di un file XML con i dati da inserire nel DataSet.
Creazione dell'interfaccia utente.
Creazione del dataset, lettura del file XML e visualizzazione del contenuto in un controllo DataGridView.
Aggiunta di codice per la visualizzazione del linguaggio XML Schema basato sul file XML in un controllo TextBox.
Nota
È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione del programma. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Gestione delle impostazioni.
Creazione di un nuovo progetto
In questo passaggio verrà creato un progetto Visual Basic o Visual C# che conterrà questa procedura dettagliata.
Per creare un nuovo progetto Windows
Scegliere il comando per la creazione di un nuovo progetto dal menu File.
Assegnazione del nome ReadingXML al progetto.
Selezionare Applicazione Windows e scegliere OK. Per ulteriori informazioni, vedere Creazione di applicazioni per Windows.
Il progetto ReadingXML verrà creato e aggiunto a Esplora soluzioni.
Creazione del file XML con i dati da inserire nel DataSet
Poiché la procedura dettagliata è incentrata sull'inserimento dei dati XML in un dataset, viene fornito il contenuto di un file XML.
Per creare il file XML con i dati da inserire nel DataSet
Scegliere Aggiungi nuovo elemento dal menu Progetto.
Selezionare il File XML, denominarlo authors.xml, quindi scegliere Aggiungi.
Il file XML verrà caricato nella finestra di progettazione e sarà quindi pronto per la modifica.
Incollare il codice riportato di seguito nell'editor, sotto la dichiarazione XML.
<Authors_Table> <authors> <au_id>172-32-1176</au_id> <au_lname>White</au_lname> <au_fname>Johnson</au_fname> <phone>408 496-7223</phone> <address>10932 Bigge Rd.</address> <city>Menlo Park</city> <state>CA</state> <zip>94025</zip> <contract>true</contract> </authors> <authors> <au_id>213-46-8915</au_id> <au_lname>Green</au_lname> <au_fname>Margie</au_fname> <phone>415 986-7020</phone> <address>309 63rd St. #411</address> <city>Oakland</city> <state>CA</state> <zip>94618</zip> <contract>true</contract> </authors> <authors> <au_id>238-95-7766</au_id> <au_lname>Carson</au_lname> <au_fname>Cheryl</au_fname> <phone>415 548-7723</phone> <address>589 Darwin Ln.</address> <city>Berkeley</city> <state>CA</state> <zip>94705</zip> <contract>true</contract> </authors> <authors> <au_id>267-41-2394</au_id> <au_lname>Hunter</au_lname> <au_fname>Anne</au_fname> <phone>408 286-2428</phone> <address>22 Cleveland Av. #14</address> <city>San Jose</city> <state>CA</state> <zip>95128</zip> <contract>true</contract> </authors> <authors> <au_id>274-80-9391</au_id> <au_lname>Straight</au_lname> <au_fname>Dean</au_fname> <phone>415 834-2919</phone> <address>5420 College Av.</address> <city>Oakland</city> <state>CA</state> <zip>94609</zip> <contract>true</contract> </authors> </Authors_Table>
Dal menu File scegliere Salva authors.xml.
Creazione dell'interfaccia utente
L'interfaccia utente per questa applicazione è composta dai seguenti elementi:
Un controllo DataGridView per la visualizzazione del contenuto del file XML sotto forma di dati.
Un controllo TextBox per la visualizzazione del codice XML Schema associato al file XML.
Due controlli Button.
Un pulsante per la lettura del file XML e l'inserimento dei dati nel dataset e la visualizzazione dei dati nel controllo DataGridView.
Un secondo pulsante per l'estrazione dello schema dal dataset e la relativa visualizzazione nel controllo TextBox mediante una classe StringWriter.
Per aggiungere controlli al form
Aprire il Form1 nella visualizzazione Progettazione.
Dalla Casella degli strumenti trascinare i due controlli seguenti nel form.
Un controllo DataGridView
Un controllo TextBox
Due controlli Button
Impostare le seguenti proprietà:
Controllo
Proprietà
Impostazione
TextBox1
Multiline
true
ScrollBars
Vertical
Button1
Name
ReadXmlButton
Text
Read XML
Button2
Name
ShowSchemaButton
Text
Show Schema
Creazione del DataSet in cui saranno inseriti i dati XML
Nella procedura seguente, viene creato un nuovo dataset denominato authors. Per ulteriori informazioni sui dataset, vedere Utilizzo di dataset in Visual Studio.
Per creare un nuovo dataset per la ricezione dei dati XML
Dopo aver selezionato il file di origine di Form1 in Esplora soluzioni, fare clic sul pulsante Visualizza finestra di progettazione nella barra degli strumenti di Esplora soluzioni.
Dalla Scheda Dati, Casella degli strumenti, trascinare un DataSet nel Form1.
Selezionare Dataset non tipizzato nella Finestra di dialogo Aggiungi Dataset, quindi scegliere OK.
Il DataSet1 viene aggiunto alla barra dei componenti.
Nella finestra Proprietà impostare le proprietà Name e DataSetName su AuthorsDataSet.
Creazione del gestore eventi per l'inserimento dei dati XML nel DataSet
Il pulsante Read XML consente di leggere il file XML e inserire i relativi dati nel dataset, quindi di impostare le proprietà del controllo DataGridView per l'associazione di tale oggetto al dataset.
Per aggiungere codice al gestore eventi ReadXmlButton_Click
In Esplora soluzioni selezionare Form1 e fare clic sul pulsante Visualizza finestra di progettazione sulla barra degli strumenti Esplora soluzioni.
Fare doppio clic sul pulsante Read XML.
Nell'editor di codice verrà visualizzato il gestore eventi ReadXmlButton_Click.
Digitare il codice che segue nel gestore eventi ReadXmlButton_Click:
Private Sub ReadXmlButton_Click() Handles ReadXmlButton.Click Dim filePath As String = "Complete path where you saved the XML file" AuthorsDataSet.ReadXml(filePath) DataGridView1.DataSource = AuthorsDataSet DataGridView1.DataMember = "authors" End Sub
private void ReadXmlButton_Click(object sender, EventArgs e) { string filePath = "Complete path where you saved the XML file"; AuthorsDataSet.ReadXml(filePath); dataGridView1.DataSource = AuthorsDataSet; dataGridView1.DataMember = "authors"; }
Nel codice del gestore eventi ReadXMLButton_Click modificare la voce filepath = nel percorso corretto.
Creazione del gestore eventi per la visualizzazione dello schema nell'oggetto Textbox
Tramite il pulsante Show Schema viene creato un oggetto StringWriter nel quale viene inserito lo schema e che viene visualizzato nell'oggetto TextBox.
Per aggiungere codice al gestore eventi ShowSchemaButton_Click
In Esplora soluzioni selezionare Form1, quindi fare clic sul pulsante Visualizza finestra di progettazione.
Fare doppio clic sul pulsante Show Schema.
Nell'editor di codice verrà visualizzato il gestore eventi ShowSchemaButton_Click.
Digitare il codice che segue nel gestore eventi ShowSchemaButton_Click:
Private Sub ShowSchemaButton_Click() Handles ShowSchemaButton.Click Dim swXML As New System.IO.StringWriter() AuthorsDataSet.WriteXmlSchema(swXML) TextBox1.Text = swXML.ToString End Sub
private void ShowSchemaButton_Click(object sender, EventArgs e) { System.IO.StringWriter swXML = new System.IO.StringWriter(); AuthorsDataSet.WriteXmlSchema(swXML); textBox1.Text = swXML.ToString(); }
Test
È ora possibile verificare il form per assicurarsi che funzioni correttamente.
Per eseguire il test del form
Premere F5 per eseguire l'applicazione.
Fare clic sul pulsante Read XML.
Nel controllo DataGridView verrà visualizzato il contenuto del file XML.
Fare clic sul pulsante Show Schema.
Nella casella di testo verrà visualizzato il codice XML Schema associato al file XML.
Passaggi successivi
In questa procedura dettagliata vengono riportati i concetti di base per la lettura di un file XML e l'inserimento dei dati in un DataSet e per la creazione di uno schema basato sul contenuto del file XML. Potrebbe anche essere necessario effettuare attività successive, tra cui:
Modifica dei dati del DataSet e relativa riscrittura come XML. Per ulteriori informazioni, vedere WriteXml.
Modifica dei dati del DataSet e relativa scrittura in un database. Per ulteriori informazioni, vedere Salvataggio di dati.
Vedere anche
Altre risorse
Procedure dettagliate relative ai dati
Accesso ai dati in Visual Studio