Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

XmlObjectSerializer (Clase)

Proporciona la clase base usada para serializar objetos como secuencias XML o documentos. Esta clase es abstracta.

Espacio de nombres:  System.Runtime.Serialization
Ensamblado:  System.Runtime.Serialization (en System.Runtime.Serialization.dll)

public abstract class XmlObjectSerializer

El tipo XmlObjectSerializer expone los siguientes miembros.

  NombreDescripción
Método protegidoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsXmlObjectSerializerInicializa una nueva instancia de la clase XmlObjectSerializer.
Arriba

  NombreDescripción
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegidoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIsStartObject(XmlDictionaryReader)Obtiene un valor que especifica si XmlDictionaryReader está colocado sobre un elemento XML que se puede leer.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIsStartObject(XmlReader)Obtiene un valor que especifica si XmlReader se coloca sobre un elemento XML que se puede leer.
Método protegidoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsReadObject(Stream)Lee la secuencia o el documento XML con Stream y devuelve el objeto deserializado.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsReadObject(XmlDictionaryReader)Lee el documento o la secuencia XML con XmlDictionaryReader y devuelve el objeto deserializado.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsReadObject(XmlReader)Lee el documento o la secuencia XML con XmlReader y devuelve el objeto deserializado.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsReadObject(XmlDictionaryReader, Boolean)Lee la secuencia o el documento XML con XmlDictionaryReader y devuelve el objeto deserializado; también le permite especificar si el serializador puede leer los datos antes de intentar leerlos.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsReadObject(XmlReader, Boolean)Lee el documento o la secuencia XML con XmlReader y devuelve el objeto deserializado; también le permite especificar si el serializador puede leer los datos antes de intentar leerlos.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteEndObject(XmlDictionaryWriter)Escribe el fin de los datos de objeto como un elemento XML de cierre en el documento o la secuencia XML con XmlDictionaryWriter.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteEndObject(XmlWriter)Escribe el fin de los datos de objeto como un elemento XML de cierre en el documento o la secuencia XML con XmlWriter.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteObject(Stream, Object)Escribe el contenido completo (inicio, contenido y fin) del objeto en el documento o la secuencia XML con el Streamespecificado.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteObject(XmlDictionaryWriter, Object)Escribe todo el contenido (inicio, contenido y fin) del objeto en el documento o la secuencia XML con el XmlDictionaryWriter especificado.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteObject(XmlWriter, Object)Escribe todo el contenido (inicio, contenido y fin) del objeto en el documento o la secuencia XML con el XmlWriter especificado.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteObjectContent(XmlDictionaryWriter, Object)Escribe sólo el contenido del objeto en el documento o la secuencia XML con el XmlDictionaryWriter especificado.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteObjectContent(XmlWriter, Object)Escribe sólo el contenido del objeto en el documento o la secuencia XML con el XmlWriter especificado.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteStartObject(XmlDictionaryWriter, Object)Escribe el inicio de los datos del objeto como un elemento XML de apertura con el XmlDictionaryWriter especificado.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteStartObject(XmlWriter, Object)Escribe el inicio de los datos del objeto como elemento XML de apertura con el XmlWriter especificado.
Arriba

ExcepciónCondición
InvalidDataContractException

el tipo que se está serializando no se ajusta a las reglas del contrato de datos. Por ejemplo, el atributo DataContractAttribute no se ha aplicado al tipo.

SerializationException

hay un problema con la instancia que se está serializando.

Extienda XmlObjectSerializer para crear su propio serializador a fin de serializar y deserializar objetos. La clase DataContractSerializer y la clase NetDataContractSerializer se heredan de XmlObjectSerializer y se usan para serializar y deserializar objetos que se ajustan a las reglas del contrato de datos (objetos creados con DataContractAttribute y DataMemberAttribute).

Notas para los herederos

Al heredar de XmlObjectSerializer, es necesario invalidar los miembros siguientes: XmlObjectSerializer.WriteStartObject(XmlDictionaryWriter, Object), XmlObjectSerializer.WriteObjectContent(XmlDictionaryWriter, Object), XmlObjectSerializer.WriteEndObject(XmlDictionaryWriter). Además, deben implementarse los métodos IsStartObject y ReadObject para leer y serializar.

El ejemplo siguiente muestra un método denominado WriteObjectWithInstance que incluye un XmlObjectSerializer como parámetro. El método serializa un objeto con DataContractSerializer o NetDataContractSerializer llamando al método WriteObject.


public class Test
{
    private void WriteObjectWithInstance(XmlObjectSerializer xm, Company graph,
       string fileName)
    {
        // Use either the XmlDataContractSerializer or NetDataContractSerializer,
        // or any other class that inherits from XmlObjectSerializer to write with.
        Console.WriteLine(xm.GetType());
        FileStream fs = new FileStream(fileName, FileMode.Create);
        XmlDictionaryWriter writer = XmlDictionaryWriter.CreateTextWriter(fs);
        xm.WriteObject(writer, graph);
        Console.WriteLine("Done writing {0}", fileName);
    }

    private void Run()
    {
        // Create the object to write to a file.
        Company graph = new Company();
        graph.Name = "cohowinery.com";

        // Create a DataContractSerializer and a NetDataContractSerializer.
        // Pass either one to the WriteObjectWithInstance method.
        DataContractSerializer dcs = new DataContractSerializer(typeof(Company));
        NetDataContractSerializer ndcs = new NetDataContractSerializer();
        WriteObjectWithInstance(dcs, graph, @"datacontract.xml");
        WriteObjectWithInstance(ndcs, graph, @"netDatacontract.xml");
    }

    [DataContract]
    public class Company
    {
        [DataMember]
        public string Name;
    }

    static void Main()
    {
        try
        {
            Console.WriteLine("Starting");
            Test t = new Test();
            t.Run();
            Console.WriteLine("Done");
            Console.ReadLine();
        }

        catch (InvalidDataContractException iExc)
        {
            Console.WriteLine("You have an invalid data contract: ");
            Console.WriteLine(iExc.Message);
            Console.ReadLine();
        }

        catch (SerializationException serExc)
        {
            Console.WriteLine("There is a problem with the instance:");
            Console.WriteLine(serExc.Message);
            Console.ReadLine();
        }

        catch (QuotaExceededException qExc)
        {
            Console.WriteLine("The quota has been exceeded");
            Console.WriteLine(qExc.Message);
            Console.ReadLine();
        }
        catch (Exception exc)
        {
            Console.WriteLine(exc.Message);
            Console.WriteLine(exc.ToString());
            Console.ReadLine();
        }
    }


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft