A serializar um objecto para XML utilizando o Visual C#

Traduções de Artigos Traduções de Artigos
Artigo: 815813 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo passo a passo descreve a serializar um objecto para XML utilizando o Visual C#. Este método é útil para o estado de um objecto de persistência. Este método também é útil para clonar um objecto por de-serializing o XML para um novo objecto.



Requisitos

A lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs são necessários:
  • Microsoft Visual Studio
Este artigo pressupõe que está familiarizado com os seguintes tópicos:
  • Geral familiaridade com XML
  • Geral familiaridade com o Visual C#

Serialização de XML

Serialização é o processo de obter o estado de um objecto e permanecer em alguns útil. O Microsoft .NET Framework inclui objectos poderosos que podem seriar qualquer objecto para XML. O espaço de nomes System.Xml.Serialization fornece esta capacidade.

Siga estes passos para criar uma aplicação de consola que cria um objecto e, em seguida, serializes estado para XML:
  1. No Visual C#, criar uma nova aplicação de consola de projecto.
  2. No menu projecto , clique em Adicionar classe para adicionar uma nova classe de projecto.
  3. Na caixa de diálogo Adicionar novo item , altere o nome da classe para clsPerson .
  4. Clique em Adicionar . É criada uma nova classe.

    Nota No Visual Studio .NET 2003, clique em Abrir .
  5. Adicione o seguinte código depois da classe pública clsPerson instrução
     public   string FirstName;
     public   string MI;
     public   string LastName;
    
  6. Mudar para a janela de código para Program.cs no Visual Studio ou Class1.cs no Visual Studio .NET 2003.
  7. O método Main void, declarar e criar uma instância da classe clsPerson :
    clsPerson p = new clsPerson();
  8. Defina as propriedades do objecto clsPerson :
    p.FirstName = "Jeff";
    p.MI = "A";
    p.LastName = "Price";
  9. O espaço de nomes Xml.Serialization contém uma classe de XmlSerializer serializes um objecto para XML. Quando cria uma instância de XmlSerializer , passar o tipo de classe que pretende serializar no respectivo construtor:
    System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
  10. O método Serialize é utilizado para serializar um objecto para XML. Serializar está sobrecarregado e pode enviar a saída para um objecto TextWriter , transmissão em sequência ou XMLWriter . Neste exemplo, enviar a saída para a consola:
    x.Serialize(Console.Out,p);
    Console.WriteLine();
    Console.ReadLine();

Concluir lista de código

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 o projecto funciona, prima CTRL + F5 para executar o projecto. Um objecto clsPerson é criado e preenchido com os valores que introduziu. Este estado é serializado para XML. A janela da consola 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>

Resolução de problemas

O objecto Xml.Serialization.XmlSerializer executa apenas superficial serialização. Se também pretende serializar variáveis privadas de um objecto ou subordinado objectos, tem de utilizar serialização profunda.

Referências

Para mais informações, visite o seguinte Web site da Microsoft Developer Network (MSDN):
Introdução à serialização de XML
http://msdn.microsoft.com/en-us/library/182eeyhh(VS.80).aspx

Propriedades

Artigo: 815813 - Última revisão: 21 de julho de 2008 - Revisão: 4.1
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: 
kbmt kbsweptvs2008 kbnamespace kbxml kbhowtomaster 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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