Como persistir um ConjuntoDeDados ADO.NET como XML usando o Visual translation from VPE for Csharp .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: 309183
Para uma versão deste artigo do Microsoft Visual Basic. NET, consulte 308064.
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.OLEDB
  • System.IO

NESTA TAREFA

Sumário
Este artigo demonstra como persistir um objeto DataSet do ADO.NET para XML (Extensible Markup Language).

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 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:
void DataSet.WriteXml(string fileName)				
para escrever o esquema atual e os dados para o DataSet , use a classe especificada System.IO.TextWriter . A classe TextWriter é projetada para saída de caractere.
void DataSet.WriteXml(System.IO.TextWriter writer)				
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.
void DataSet.WriteXml(System.IO.Stream stream)				
para escrever o esquema atual e os dados para o DataSet a System.Xml.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.
void DataSet.WriteXml(Sytem.Xml.XmlWriter writer)				
a enumeração System.Data.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 Microsoft Visual Studio NET..
  2. Crie um novo projeto Windows Application no Visual translation from VPE for Csharp 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. Colocar dois controles Button 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 instrução usando os namespaces System.Data e sistema de modo que não é necessário para qualificar declarações esses namespaces posteriormente no seu código.
    using System;using System.Data;using System.Data.SqlClient;					
  6. Copie e cole o código a seguir no manipulador de eventos para os dois botões:
    private void btnWriter_Click(object sender, System.EventArgs e) {  string myConnectionString = "User ID=login;password=password;Initial Catalog=Northwind;                               Data Source=servername";  string mySelectQuery = "Select * From Customers";			  System.IO.FileStream myFileStream = new System.IO.FileStream                                      ("c:\\mySchema.xml", System.IO.FileMode.Create);  System.Xml.XmlTextWriter MyXmlTextWriter = new System.Xml.XmlTextWriter                                             (myFileStream, System.Text.Encoding.Unicode);  try {     SqlConnection con = new SqlConnection(myConnectionString);     SqlDataAdapter daCust = new SqlDataAdapter(mySelectQuery, con);     DataSet ds = new DataSet();     daCust.Fill(ds, "Cust");     //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);     MessageBox.Show("Save complete");  }  catch (System.Exception ex) {      MessageBox.Show(ex.ToString());  }  finally {      MyXmlTextWriter.Close();     myFileStream.Close();  }} private void btnFile_Click(object sender, System.EventArgs e) {   string myConnectionString = "User ID=login;password=password;Initial Catalog=Northwind;                               Data Source=servername";  string mySelectQuery = "Select * From Customers";   try {         SqlConnection con = new SqlConnection(myConnectionString);        SqlDataAdapter daCust = new SqlDataAdapter(mySelectQuery, con);        DataSet ds = new DataSet();        daCust.Fill(ds, "Cust");	//Write the XML along with the inline schema (default).	ds.WriteXml("c:\\mySchema.xml", XmlWriteMode.WriteSchema);	//Write the XML only.	//ds.WriteXml("c:\\mySchema.xml", XmlWriteMode.IgnoreSchema);	//Write the XML as a DiffGram.	//ds.WriteXml("c:\\mySchema.xml", XmlWriteMode.DiffGram);	MessageBox.Show("Save complete");   }    catch (System.Exception ex) {	MessageBox.Show(ex.ToString());   }}					
  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 para executar seu projeto.
  10. Clique em qualquer um dos botões para persistir os dados para o arquivo.
  11. Abra seu navegador e, em seguida, 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
311566Como ler dados XML em um DataSet usando o Visual translation from VPE for Csharp .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: 309183 - Última Revisão: 05/13/2007 05:01:40 - Revisão: 2.4

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

  • kbmt kbhowtomaster kbio kbsystemdata KB309183 KbMtpt
Comentários