Cómo serializar un objeto a XML mediante el uso de Visual C#

Seleccione idioma Seleccione idioma
Id. de artículo: 815813 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Este artículo paso a paso describe cómo serializar un objeto a XML mediante el uso de Visual C#. Este método es útil para conservar la estado de un objeto. Este método también es útil para clonar un objeto por la deserialización de XML a un objeto nuevo.



Requisitos

En la lista siguiente describe el hardware recomendado, software, infraestructura de red y los service packs requeridos:
  • Microsoft Visual Studio
En este artículo se supone que está familiarizado con la siguiente temas:
  • Estar familiarizado con XML
  • Estar familiarizado con Visual C#

Serialización XML

La serialización es el proceso de toma el estado de un objeto y para conservarlo en una manera determinada. El de Microsoft.NET Framework incluye potentes objetos que pueden serializar cualquier objeto a XML. El espacio de nombres proporciona esta capacidad.

Siga estos pasos Para crear una aplicación de consola que crea un objeto y, a continuación, se serializa su estado de XML:
  1. En Visual C#, cree una nueva aplicación de consola proyecto.
  2. En el Proyecto menú, haga clic en Agregar Clase Para agregar una nueva clase al proyecto.
  3. En el Agregar nuevo elemento cuadro de diálogo, cambie el nombre de la clase a clsPerson.
  4. Haga clic en Agregar. Se crea una nueva clase.

    Nota En Visual Studio .NET 2003, haga clic en Abrir.
  5. Agregue el código siguiente después de la instrucción de Public Class clsPerson
     public   string FirstName;
     public   string MI;
     public   string LastName;
    
  6. Cambie a la ventana de código Program.cs en Visual Studio o Class1.cs en Visual Studio .NET 2003.
  7. En el método Main void, declare y cree una instancia de la clase clsPerson :
    clsPerson p = new clsPerson();
  8. Establezca las propiedades del objeto clsPerson :
    p.FirstName = "Jeff";
    p.MI = "A";
    p.LastName = "Price";
  9. El Xml.Serialization espacio de nombres contiene una clase de XmlSerializer que serializa un objeto a XML. Cuando se crea un instancia de XmlSerializer, pase el tipo de la clase que desea serializar en su constructor:
    System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
  10. El Serializar método se utiliza para serializar un objeto a XML. Serializar está sobrecargado y puede enviar el resultado a un objeto TextWriter, secuenciao XMLWriter . En este ejemplo, enviar el resultado en la consola:
    x.Serialize(Console.Out,p);
    Console.WriteLine();
    Console.ReadLine();

Lista 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();
   }
}    

Verificación

Para comprobar que el proyecto funciona, presione CTRL + F5 para ejecutar el proyecto. Se crea un objeto de clsPerson y se rellena con los valores que escribió. Este estado se serializa en XML. La ventana de consola muestra lo siguiente:
<?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

El objeto Xml.Serialization.XmlSerializer realiza sólo superficial serialización. Si también desea serializar las variables privadas de un objeto o los objetos secundarios, debe utilizar serialización de profundidad.

Referencias

Para obtener más información, visite el siguiente Sitio Web de Developer Network (MSDN):
Presentar la serialización XML
http://msdn.Microsoft.com/en-us/library/182eeyhh (VS.80) .aspx

Propiedades

Id. de artículo: 815813 - Última revisión: domingo, 21 de abril de 2013 - Versión: 6.0
La información de este artículo se refiere 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
Palabras clave: 
kbsweptvs2008 kbnamespace kbxml kbhowtomaster kbmt KB815813 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 815813

Enviar comentarios

 

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