Como persistir um ConjuntoDeDados ADO.NET como XML usando o Visual Basic .NET

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 308064
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Para obter uma Microsoft Visual translation from VPE for Csharp .NET versão deste artigo, consulte 309183.
Para uma versão deste artigo do Microsoft Visual C++. NET, consulte 309184.

Este artigo se refere aos seguintes namespaces Microsoft .NET Framework Class Library:
  • System.Data.SqlClient
  • System.IO

NESTA TAREFA

Sumário
Este artigo demonstra como persistir um objeto DataSet do ADO.NET para XML.

back to the top

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server ou Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • O Visual Studio .NET
  • Conceitos básicos do ADO.NET e sintaxe
  • Conceitos básicos XML
back to the top

Descrição da técnica

Você pode usar o método WriteXml para gravar dados e esquema XML (Extensible Markup Language) do objeto DataSet . Os dados XML são gravados em um arquivo, uma classe de fluxo , uma classe XmlWriter ou uma classe TextWriter . Você pode usar um dos dois conjuntos de métodos sobrecarregados para WriteXml , dependendo das suas necessidades. O primeiro conjunto de quatro métodos sobrecarregados usa apenas um parâmetro e o segundo conjunto de quatro métodos sobrecarregados usa um parâmetro adicional ( XmlWriteMode ) juntamente com um dos parâmetros mencionados acima. Cada um desses métodos é descrita nesta seção.

Para gravar o esquema atual e os dados para o DataSet para o arquivo especificado, use o código a seguir:
Overloads Public Sub WriteXml(String)				
para escrever o esquema atual e os dados para o DataSet , use a classe TextWriter especificada. A classe TextWriter é projetada para saída de caractere.
Overloads Public Sub WriteXml(TextWriter)				
para escrever o esquema atual e os dados para o DataSet , use o System.IO.Stream especificado. A classe Stream é projetada para bytes de entrada e saída.
Overloads Public Sub WriteXml(Stream)				
para gravar o esquema atual e os dados para o DataSet para o XmlWriter especificado, use o código a seguir. Isso fornece um método rápido, que não são armazenados em cache e forward-only para gerar arquivos que contêm dados XML de acordo com o World Wide Web Consortium (W3C) ou fluxos especificação XML 1.0 e os namespaces na especificação do XML.
Overloads Public Sub WriteXml(XmlWriter)				
a enumeração XmlWriteMode Especifica como escrever dados XML e esquema do DataSet . XmlWriteMode inclui as seguintes opções:
  • DiffGram : grava o DataSet inteiro como um DiffGram.
  • IgnoreSchema : grava o conteúdo atual do DataSet como dados XML, sem um esquema de linguagem (XSD) de definição de esquema XML.
  • WriteSchema : grava o conteúdo atual do DataSet como dados XML com a estrutura relacional como o esquema XSD in-line.
back to the top

Criar projeto e adicionar código

O exemplo a seguir cria um DataSet da tabela de clientes no banco de dados Northwind e usa o método WriteXml para manter o DataSet em XML. Este exemplo demonstra como usar dois as versões sobrecarregadas utilizadas de WriteXml . Para obter outros exemplos, consulte MSDN para tópicos individuais sobrecarga desse método.
  1. Inicie o Visual Studio NET..
  2. Crie um novo projeto Windows Application no Visual Basic NET..
  3. Verifique se seu projeto contém uma referência ao namespace System.Data e adicione uma referência a este espaço para nome se não.
  4. Coloque dois botões de comando no Form1. Altere a propriedade nome do botão de primeira para btnWriter e sua propriedade Text para o Gravador .

    Altere a propriedade nome do segundo botão para btnFile e sua propriedade Text para o arquivo .
  5. Usar a declaração Imports os namespaces System.Data e sistema de modo que não é necessário para qualificar declarações esses namespaces posteriormente no seu código.
    Imports SystemImports System.DataImports System.Data.SqlClient					
  6. Copiar e colar o código a seguir em janela de código após a região "Windows Form Designer gerou código":
    Private Sub btnWriter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _Handles btnWriter.Click    Dim myConnectionString As String _        = "User ID=sa;password=sa;Initial Catalog=Northwind;Data Source=mySQLServer"    Dim mySelectQuery As String _        = "Select * From Customers"    Dim myXMLfile As String = "c:\mySchema.xml"         Dim con As New SqlConnection(myConnectionString)        Dim daCust As New SqlDataAdapter(mySelectQuery, con)        Dim ds As New DataSet()        daCust.Fill(ds, "Cust")         Dim myFileStream As New System.IO.FileStream _           (myXMLfile, System.IO.FileMode.Create)        Dim MyXmlTextWriter As New System.Xml.XmlTextWriter _           (myFileStream, System.Text.Encoding.Unicode)    Try        'Write the XML along with the inline schema (default).        ds.WriteXml(MyXmlTextWriter, XmlWriteMode.WriteSchema)        'Write the XML only.        'ds.WriteXml(MyXmlTextWriter, XmlWriteMode.IgnoreSchema)        'Write the XML as a DiffGram.        'ds.WriteXml(MyXmlTextWriter, XmlWriteMode.DiffGram)        MsgBox("Save complete")    Catch ex As Exception        MessageBox.Show(ex.ToString())    Finally        MyXmlTextWriter.Close()        myFileStream.Close()    End TryEnd Sub Private Sub btnFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _Handles btnFile.Click    Dim myConnectionString As String _        = "User ID=sa;password=sa;Initial Catalog=Northwind;Data Source=mySQLServer"    Dim mySelectQuery As String _        = "Select * From Customers"    Dim myXMLfile As String = "c:\mySchema.xml"         Dim con As New SqlConnection(myConnectionString)        Dim daCust As New SqlDataAdapter(mySelectQuery, con)        Dim ds As New DataSet()        daCust.Fill(ds, "Cust")      Try        'Write the XML along with the inline schema (default).        ds.WriteXml(MyXmlFile, XmlWriteMode.WriteSchema)        'Write the XML only.        'ds.WriteXml(MyXmlFile, XmlWriteMode.IgnoreSchema)        'Write the XML as a DiffGram.        'ds.WriteXml(MyXmlFile, XmlWriteMode.DiffGram)        MsgBox("Save complete")    Catch ex As Exception        MessageBox.Show(ex.ToString())    End TryEnd Sub					
  7. Modificar a seqüência de conexão ( myConnectionString ) e o caminho do arquivo XML ( myXMLfile ) conforme apropriado para seu ambiente.
  8. Salve seu projeto.
  9. No menu Debug , clique em Iniciar e executar o projeto.
  10. Clique em qualquer um dos botões para persistir os dados para o arquivo.
  11. Abra seu navegador e abra o arquivo XML. Observe que os dados no DataSet tem sido persistentes com êxito no formato XML com base em XmlWriteMode que você especificou.
back to the top

Anotações

  • Para escrever somente o esquema XML, você pode usar o método WriteXmlSchema .
  • Para obter somente a representação XML dos dados no DataSet , em vez de persistência-lo em um fluxo ou arquivo, você pode usar o método GetXml .
back to the top

REFERÊNCIAS

Para obter informações adicionais, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
262450Como um exemplo de C++ de persistência do XML do Recordset ADO
309702Como ler dados XML em um DataSet usando o Visual Basic .NET
Para obter mais informações sobre objetos ADO.NET e a sintaxe, consulte o tópico a seguir na documentação do Software Development Kit (SDK) do Microsoft .NET Framework: back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 308064 - Última Revisão: 12/06/2015 05:43:20 - Revisão: 2.3

Microsoft ADO.NET 1.1, Microsoft ADO.NET 1.0, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbhowtomaster kbio kbsqlclient kbsystemdata KB308064 KbMtpt
Comentários