Partilhar via


Ler dados XML em um conjunto de dados em aplicativos .NET Framework

Observação

A DataSet classe e as classes relacionadas são tecnologias herdadas do .NET Framework do início dos anos 2000 que permitem que os aplicativos trabalhem com dados na memória enquanto os aplicativos estão desconectados do banco de dados. As tecnologias são especialmente úteis para aplicativos que permitem aos usuários modificar dados e manter as alterações de volta ao banco de dados. Embora os conjuntos de dados sejam uma tecnologia comprovadamente bem-sucedida, a abordagem recomendada para novos aplicativos .NET é usar o Entity Framework Core. O Entity Framework fornece uma maneira mais natural de trabalhar com dados tabulares como modelos de objeto e tem uma interface de programação mais simples.

ADO.NET fornece métodos simples para trabalhar com dados XML. Nesta explicação passo a passo, você cria um aplicativo do Windows que carrega dados XML em um conjunto de dados. O conjunto de dados é então exibido em um DataGridView controle. Finalmente, um esquema XML baseado no conteúdo do arquivo XML é exibido em uma caixa de texto.

Pré-requisitos

Para concluir este tutorial, você precisa do Visual Studio com as seguintes cargas de trabalho instaladas:

  • Desenvolvimento de desktop .NET
  • Armazenamento e processamento de dados

Para instalá-los, abra Visual Studio Installer e escolha Modificar (ou Mais>Modificar) ao lado da versão do Visual Studio que você deseja modificar. Consulte Modificar o Visual Studio.

Criar um novo projeto

Crie um novo projeto do Windows Forms App para C# ou Visual Basic. Nomeie o projeto ReadingXML.

Gerar o arquivo XML a ser lido no conjunto de dados

Como este passo a passo se concentra na leitura de dados XML em um conjunto de dados, o conteúdo de um arquivo XML é fornecido.

  1. No menu Projeto , selecione Adicionar Novo Item.

  2. Selecione Arquivo XML, nomeie o arquivo authors.xmle, em seguida, selecione Adicionar.

    O arquivo XML é carregado no designer e está pronto para edição.

  3. Cole os seguintes dados XML no editor abaixo da declaração 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. No menu Arquivo , selecione Salvar authors.xml.

Criar a interface de utilizador

A interface do usuário para este aplicativo consiste no seguinte:

  • Um DataGridView controle que exibe o conteúdo do arquivo XML como dados.

  • Um TextBox controle que exibe o esquema XML para o arquivo XML.

  • Dois Button controlos.

    • Um botão lê o ficheiro XML para o conjunto de dados e exibe-o no controlo DataGridView.

    • Um segundo botão extrai o esquema do conjunto de dados e, por meio de um StringWriter, exibe-o no controlo TextBox.

Para adicionar controles ao formulário

  1. Abrir Form1 na vista de estrutura.

  2. Na Caixa de Ferramentas, arraste os seguintes controles para o formulário:

  3. Defina as seguintes propriedades:

    Controlo Propriedade Configurações
    TextBox1 Multilinha true
    Barras de rolagem Vertical
    Button1 Nome ReadXmlButton
    Texto Read XML
    Button2 Nome ShowSchemaButton
    Texto Show Schema

Criar o conjunto de dados que recebe os dados XML

Nesta etapa, você cria um novo conjunto de dados chamado authors. Para obter mais informações sobre conjuntos de dados, consulte Ferramentas de conjunto de dados no Visual Studio.

  1. No Gerenciador de Soluções, selecione o arquivo de origem para o Form1 e, em seguida, selecione o botão Exibir Designerna barra de ferramentas Gerenciador de Soluções.

  2. Na Caixa de Ferramentas, guia Dados, arraste um DataSet para o Form1.

  3. Na caixa de diálogo Adicionar Conjunto de Dados, selecione Conjunto de dados sem tipo e, em seguida, selecione OK.

    DataSet1 é adicionado à bandeja de componentes.

  4. Na janela Propriedades, defina o Nome e as propriedades DataSetName para AuthorsDataSet.

Crie o manipulador de eventos para ler o arquivo XML no conjunto de dados

O botão Ler XML lê o arquivo XML no conjunto de dados. Em seguida, define propriedades no DataGridView controle que o vinculam ao conjunto de dados.

  1. No Gerenciador de Soluções, selecione Form1 e, em seguida, selecione o botão Exibir Designerna barra de ferramentas Gerenciador de Soluções.

  2. Clique duas vezes no botão Ler XML .

    O Editor de Códigos é aberto no manipulador de ReadXmlButton_Click eventos.

  3. Digite o seguinte código no manipulador de ReadXmlButton_Click eventos:

    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. No código do manipulador de ReadXMLButton_Click eventos, altere a filepath = entrada para o caminho correto.

Crie o manipulador de eventos para exibir o esquema na caixa de texto

O botão Mostrar esquema cria um StringWriter objeto que é preenchido com o esquema e é exibido no TextBox controle.

  1. No Gerenciador de Soluções, selecione Form1 e, em seguida, selecione o botão Exibir Designer .

  2. Clique duas vezes no botão Mostrar esquema .

    O Editor de Códigos é aberto no manipulador de ShowSchemaButton_Click eventos.

  3. Cole o código a seguir no manipulador de ShowSchemaButton_Click eventos.

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

Testar o formulário

Agora você pode testar o formulário para garantir que ele se comporte conforme o esperado.

  1. Selecione F5 para executar o aplicativo.

  2. Selecione o botão Ler XML .

    O DataGridView exibe o conteúdo do arquivo XML.

  3. Selecione o botão Mostrar esquema .

    A caixa de texto exibe o esquema XML para o arquivo XML.

Próximos passos

Este passo a passo ensina as noções básicas de leitura de um arquivo XML em um conjunto de dados, bem como a criação de um esquema com base no conteúdo do arquivo XML. Aqui estão algumas tarefas que você pode fazer a seguir:

  • Edite os dados no conjunto de dados e grave-os novamente como XML. Para obter mais informações, consulte WriteXml.

  • Edite os dados no conjunto de dados e escreva-os em um banco de dados.