Como serializar um objeto para XML usando o Visual C#

Traduções deste artigo Traduções deste artigo
ID do artigo: 815813 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve detalhadamente como serializar um objeto para XML usando o Visual C#. Este método é útil para persistir o estado de um objeto. Esse método também é útil para a clonagem de um objeto por desserializando o XML de volta para um novo objeto.



Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs necessários:
  • Microsoft Visual Studio
Este artigo presume que você esteja familiarizado com o seguinte tópicos:
  • Geral familiaridade com XML
  • Geral familiaridade com o Visual C#

Serialização de XML

A serialização é o processo de assumir o estado de um objeto e persistência-lo de alguma forma. O Microsoft.NET Framework inclui poderosos objetos que podem serializar qualquer objeto para XML. O namespace System.Xml.Serialization fornece esse recurso.

Siga estas etapas para criar um aplicativo de console que cria um objeto e, em seguida, serializa seu estado para XML:
  1. No Visual C#, crie um novo aplicativo de Console projeto.
  2. Sobre o Projeto menu, clique em Adicionar Classe Para adicionar uma nova classe ao projeto.
  3. No Adicionar Novo Item caixa de diálogo, selecione o nome da classe a clsPerson.
  4. Clique em Adicionar. Uma nova classe é criada.

    Observação No Visual Studio .NET 2003, clique em Abrir.
  5. Adicione o seguinte código após a instrução de clsPerson classe pública
     public   string FirstName;
     public   string MI;
     public   string LastName;
    
  6. Alterne para a janela de código para Program. cs no Visual Studio ou para Class1. cs no Visual Studio .NET 2003.
  7. No método void Main , declare e crie uma instância da classe clsPerson :
    clsPerson p = new clsPerson();
  8. Defina as propriedades do objeto clsPerson :
    p.FirstName = "Jeff";
    p.MI = "A";
    p.LastName = "Price";
  9. O Xml.Serialization espaço para nome contém uma classe XmlSerializer que serializa um objeto para XML. Quando você cria um instância do XmlSerializer, passe o tipo da classe você deseja serializar em seu construtor:
    System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
  10. O Serializar método é usado para serializar um objeto para XML. Serializar está sobrecarregado e pode enviar a saída para um objeto TextWriter, fluxoou XMLWriter . Neste exemplo, você pode enviar a saída para o console:
    x.Serialize(Console.Out,p);
    Console.WriteLine();
    Console.ReadLine();

Listagem de código completa

using System;

public class clsPerson
{
  public  string FirstName;
  public  string MI;
  public  string LastName;
}

class class1
{ 
   static void Main(string[] args)
   {
      clsPerson p=new clsPerson();
      p.FirstName = "Jeff";
      p.MI = "A";
      p.LastName = "Price";
      System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
      x.Serialize(Console.Out, p);
      Console.WriteLine();
      Console.ReadLine();
   }
}    

Verificação

Para verificar se seu projeto funciona, pressione CTRL + F5 para executar o projeto. Um objeto clsPerson é criado e preenchido com os valores que você inseriu. Esse estado é serializado para XML. A janela de console mostra o seguinte:
<?xml version="1.0" encoding="IBM437"?>
 <clsPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3
 .org/2001/XMLSchema">
<FirstName>Jeff</FirstName>
 <MI>A</MI>
<LastName>Price</LastName> </clsPerson>

Solucionar problemas

O objeto Xml.Serialization.XmlSerializer executa apenas superficial serialização. Se você também deseja serializar as variáveis particulares de um objeto ou objetos filho, você deve usar serialização profunda.

Referências

Para obter mais informações, visite o seguinte Microsoft Developer Network (MSDN) Web site:
Apresentando Serialização XML
http://msdn.microsoft.com/en-us/library/182eeyhh (vs. 80). aspx

Propriedades

ID do artigo: 815813 - Última revisão: domingo, 30 de dezembro de 2012 - Revisão: 6.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
Palavras-chave: 
kbsweptvs2008 kbnamespace kbxml kbhowtomaster kbmt KB815813 KbMtpt
Tradução automática
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: 815813

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com