Leggere i dati XML in un set di dati nelle applicazioni .NET Framework

Nota

I set di dati e le classi correlate sono tecnologie .NET Framework legacy dei primi anni '2000 che consentono alle applicazioni di lavorare con i dati in memoria mentre le applicazioni vengono disconnesse dal database. Sono particolarmente utili per le applicazioni che consentono agli utenti di modificare i dati e rendere persistenti le modifiche apportate al database. Anche se i set di dati hanno dimostrato di essere una tecnologia molto efficace, è consigliabile che le nuove applicazioni .NET usino Entity Framework Core. Entity Framework offre un modo più naturale per usare i dati tabulari come modelli a oggetti e ha un'interfaccia di programmazione più semplice.

ADO.NET fornisce metodi semplici per l'utilizzo dei dati XML. In questa procedura dettagliata viene creata un'applicazione Windows che carica i dati XML in un set di dati. Il set di dati viene quindi visualizzato in un DataGridView controllo . Infine, un XML Schema basato sul contenuto del file XML viene visualizzato in una casella di testo.

Prerequisiti

Per completare questa esercitazione, è necessario Visual Studio con i carichi di lavoro seguenti installati:

  • Sviluppo di applicazioni desktop .NET
  • Archiviazione ed elaborazione dei dati

Per installarli, aprire Programma di installazione di Visual Studio e scegliere Modifica (o Altro>modifica) accanto alla versione di Visual Studio da modificare. Vedere Modificare Visual Studio.

Crea un nuovo progetto

Creare un nuovo progetto app Windows Form per C# o Visual Basic. Denominare il progetto ReadingXML.

Generare il file XML da leggere nel set di dati

Poiché questa procedura dettagliata è incentrata sulla lettura di dati XML in un set di dati, viene fornito il contenuto di un file XML.

  1. Nel menu Progetto selezionare Aggiungi nuovo elemento.

  2. Selezionare File XML, assegnare al file il nome authors.xml e quindi selezionare Aggiungi.

    Il file XML viene caricato nella finestra di progettazione ed è pronto per la modifica.

  3. Incollare i dati XML seguenti 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>
    
  4. Scegliere Salva authors.xml dal menu File.

Creare l'interfaccia utente

L'interfaccia utente per questa applicazione è costituita dai seguenti elementi:

  • Controllo DataGridView che visualizza il contenuto del file XML come dati.

  • Controllo TextBox che visualizza l'XML Schema per il file XML.

  • Due Button controlli.

    • Un pulsante legge il file XML nel set di dati e lo visualizza nel DataGridView controllo .

    • Un secondo pulsante estrae lo schema dal set di dati e lo StringWriter visualizza nel TextBox controllo .

Per aggiungere controlli al form

  1. Aprire Form1 nella visualizzazione struttura.

  2. Dalla casella degli strumenti trascinare i controlli seguenti nel form:

  3. Impostare le proprietà seguenti:

    Controllo Proprietà Impostazione
    TextBox1 Multiline true
    ScrollBars Verticale
    Button1 Nome ReadXmlButton
    Text Read XML
    Button2 Nome ShowSchemaButton
    Text Show Schema

Creare il set di dati che riceve i dati XML

In questo passaggio viene creato un nuovo set di dati denominato authors. Per altre informazioni sui set di dati, vedere Strumenti set di dati in Visual Studio.

  1. In Esplora soluzioni selezionare il file di origine per Form1 e quindi selezionare il pulsante Progettazione viste sulla barra degli strumenti Esplora soluzioni.

  2. Dalla casella degli strumenti, scheda Dati, trascinare un set di dati in Form1.

  3. Nella finestra di dialogo Aggiungi set di dati selezionare Set di dati non tipizzato e quindi selezionare OK.

    DataSet1 viene aggiunto alla barra dei componenti.

  4. Nella finestra Proprietà impostare il nome e DataSetName le proprietà per AuthorsDataSet.

Creare il gestore eventi per leggere il file XML nel set di dati

Il pulsante Read XML legge il file XML nel set di dati. Imposta quindi le proprietà sul DataGridView controllo che lo associano al set di dati.

  1. In Esplora soluzioni selezionare Form1 e quindi selezionare il pulsante Progettazione viste sulla barra degli strumenti Esplora soluzioni.

  2. Fare doppio clic sul pulsante Leggi XML .

    L'editor di codice viene aperto nel ReadXmlButton_Click gestore eventi.

  3. Digitare il codice seguente nel ReadXmlButton_Click gestore eventi:

    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";
    }
    
  4. Nel codice del ReadXMLButton_Click gestore eventi modificare la filepath = voce nel percorso corretto.

Creare il gestore eventi per visualizzare lo schema nella casella di testo

Il pulsante Mostra schema crea un StringWriter oggetto compilato con lo schema e visualizzato nel TextBox controllo .

  1. In Esplora soluzioni selezionare Form1 e quindi selezionare il pulsante Progettazione viste.

  2. Fare doppio clic sul pulsante Mostra schema .

    L'editor di codice viene aperto nel ShowSchemaButton_Click gestore eventi.

  3. Incollare il codice seguente nel gestore eventi ShowSchemaButton_Click.

    private void ShowSchemaButton_Click(object sender, EventArgs e)
    {
        System.IO.StringWriter swXML = new System.IO.StringWriter();
        AuthorsDataSet.WriteXmlSchema(swXML);
        textBox1.Text = swXML.ToString();
    }
    

Verificare il modulo

È ora possibile testare il modulo per assicurarsi che si comporti come previsto.

  1. Selezionare F5 per eseguire l'applicazione.

  2. Selezionare il pulsante Leggi XML .

    DataGridView visualizza il contenuto del file XML.

  3. Selezionare il pulsante Mostra schema .

    Nella casella di testo viene visualizzato l'XML Schema per il file XML.

Passaggi successivi

Questa procedura dettagliata illustra le nozioni di base per la lettura di un file XML in un set di dati e la creazione di uno schema basato sul contenuto del file XML. Ecco alcune attività che è possibile eseguire successivamente:

  • Modificare i dati nel set di dati e scriverli come XML. Per ulteriori informazioni, vedere WriteXml.

  • Modificare i dati nel set di dati e scriverli in un database.