INFO: Guia para a serialização XML no .NET Framework

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

Neste artigo

Sumário

Este artigo fornece um mapa para aprender e mestre de serialização e desserialização de XML com o .NET Framework (espaço para nome System.XML ).

Mapa de artigos fornecem links para informações úteis, incluindo informes oficiais da Microsoft, para saber mais sobre um produto da Microsoft ou tecnologia, artigos da Base de dados de Conhecimento da Microsoft e documentação on-line. Microsoft Knowledge Base artigos como e explicações passo a passo fornecem instruções passo a passo para concluir tarefas específicas. Arquivos de amostra de QuickStart são programas prontos que ilustram uma técnica.

Visão geral

Serialização é o processo de converter um objeto em um formulário que pode ser facilmente transportado. Por exemplo, você pode serializar um objeto e transporte-lo pela Internet usando HTTP entre um cliente e um servidor. Na outra extremidade, desserialização reconstrói o objeto de fluxo.

O .NET Framework apresenta duas tecnologias de serialização:
  • serialização binária preserva fidelidade de tipo, que é útil para preservar o estado de um objeto entre invocações de diferentes de um aplicativo. Por exemplo, você pode compartilhar um objeto entre aplicativos diferentes por serialização-lo para a área de transferência. Por exemplo, você pode serializar um objeto em um fluxo, para um disco, memória, ou pela rede. Sistema de interação remota usa serialização para passar objetos "por valor" de um domínio do computador ou aplicativo para outro.
  • serialização de XML serializa somente os campos públicos e os valores de propriedade de um objeto em um fluxo XML. Serialização de XML não inclui informações de tipo. Por exemplo, não se você tiver um objeto de catálogo que existe no namespace biblioteca , há nenhuma garantia de que irá ser desserializado em um objeto do mesmo tipo.
É importante compreender a diferença entre essas duas tecnologias. Serialização de XML não converte os indexadores, métodos, campos particulares ou propriedades somente leitura (exceto coleções somente leitura). Para serializar todos os campos públicos e privados e propriedades de um objeto, use BinaryFormatter em vez de serialização de XML.

Os links a seguir fornecem informações de visão geral sobre XML serialização e desserialização no Microsoft Visual Studio. NET:
Apresentando Serialização XML
http://msdn2.microsoft.com/en-us/library/182eeyhh(vs.71).aspx

Serialização SOAP e XML
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconserialization.asp

Arquitetura de serialização de XML

O namespace System.XML.Serialization contém as classes que são usadas para serializar objetos em documentos de formato XML ou fluxos.

A classe central no espaço para nome é a classe XmlSerializer . Para usar essa classe, use o construtor de XmlSerializer para criar uma instância da classe usando o tipo do objeto para serializar. Depois que um XmlSerializer é criado, crie uma instância do objeto para serializar. Você também deve criar um objeto para gravar o arquivo para um documento ou fluxo, como um fluxo , um TextWriter ou um XmlWriter . Em seguida, você pode chamar o método Serialize para converter o objeto para um documento XML.

Para desserializar um objeto de um documento XML, crie um objeto adequado para ler o documento ou fluxo (novamente um fluxo , um TextWriter ou um XmlWriter ). Chamar o método Deserialize ao converter o objeto resultante para o tipo do objeto original que foi serializado.

Para controlar a serialização mais, o namespace System.XML.Serialization fornece várias classes de atributo que podem ser aplicados a membros de uma classe. Por exemplo, se uma classe contém um membro que será serializado como um elemento XML, você pode aplicar o atributo de XmlElementAttribute para o membro. Ao aplicar o atributo, você pode especificar detalhes como o nome de elemento XML real usando a propriedade ElementName .

O link a seguir fornece arquiteturais (internos) informações sobre XML serialização e desserialização:
Classe de serialização de XML
http://msdn2.microsoft.com/en-us/library/system.xml.serialization.xmlserializer(vs.71).aspx

Hierarquia de System.XML.Serialization
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemxmlserializationhierarchy.asp

Conceitos chaves e QuickStarts

Os links a seguir levam a documentação sobre chave XML conceitos de serialização e desserialização e tutoriais de início rápido.
XML Serialization with XML Web Services
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconxmlserializationwithwebservices.asp

Como, leitura/gravação objetos em XML?
http://samples.gotdotnet.com/quickstart/aspplus/default.aspx?url=/quickstart/howto/doc/XMLSerialization/RWObjFromXML.aspx

Substituir serialização de XML
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconoverridingserializationofclasseswithxmlattributeoverridesclass.asp

Amostras do .NET - como: serialização de XML
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpqstart/html/cpsmpnetsamples-howtoxmlserialization.asp
O link "Exemplos de serialização XML" fornece vários exemplos de código que demonstram a serialização de XML, incluindo o seguinte:
  • Serialização de um DataSet
  • Serialização de um XmlElement e XmlNode
  • Uma classe contendo um campo de retornar um objeto complexo serializado
  • Uma matriz de objetos serializados
  • Serializando uma classe que implementa a interface ICollection
  • Um exemplo de ordem de compra
Exemplos de serialização de XML
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconanexampleofxmlserializationwithxmlserializer.asp
O link "Controlling XML Serialization Using Attributes" discute os seguintes tópicos com exemplos de código:
  • Controlando a serialização de matriz
  • Serialização de classes derivadas
  • Serialização de uma matriz como uma seqüência de elementos
  • Serializando um ArrayList
  • Controlando a serialização de classes usando XmlRootAttribute e XmlTypeAttribute
  • Impedindo a serialização com o XmlIgnoreAttribute
Controlando a serialização de XML usando atributos
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconcontrollingserializationbyxmlserializerwithattributes.asp

Artigos da Knowledge Base

Microsoft Knowledge Base artigos como fornecem instruções passo a passo para concluir uma tarefa específica.
315703COMO: Serializar um objeto para XML usando o Visual Basic .NET
316730COMO: Serializar e desserializar o XML no Visual Basic .NET
Pode também executar transformações de XSL (XSLT), consultar e modificar dados XML usando o DOM e serializar ou desserializar dados XML usando as classes System.XML no .NET Framework. Para obter mais informações, consulte o seguinte artigo do Knowledge Base:
313651Mapa XML no .NET Framework

Passo a passo

Passo a passo fornece mini-tutoriais que o guiam pela alguns cenários de desenvolvimento de aplicativo típico que utilizam XML serialização e desserialização. O seguinte link o levará para documentos de explicação passo a passo.
Usando o esquema e serialização para lógica comercial de aproveitar
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml04162001.asp

Solução de problemas

Se você tiver problemas e deseja assistência, o melhor lugar para iniciar é no site Microsoft Product Support Services (PSS):
http://support.microsoft.com
Você tem várias opções para encontrar respostas para suas perguntas. Você pode pesquisar base de dados de Conhecimento, publicar suas perguntas ou compartilhar suas experiências em grupos de notícias da Microsoft, obter os service packs mais recentes e notícias sobre um produto específico ou entre em contato com o Atendimento Microsoft.

Propriedades

ID do artigo: 314150 - Última revisão: sexta-feira, 18 de maio de 2007 - Revisão: 3.3
A informação contida neste artigo aplica-se a:
  • Bibliotecas de Classes do Microsoft .NET Framework 1.0
  • Bibliotecas de Classes do Microsoft .NET Framework 1.1
Palavras-chave: 
kbmt kbarttyperoadmap kbinfo KB314150 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: 314150
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

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