Compartir a través de


Cómo: Leer datos de objetos de un archivo XML (C# y Visual Basic)

En este ejemplo se leen datos de objetos escritos previamente en un archivo XML mediante la clase XmlSerializer.

Ejemplo

Este ejemplo de código también está disponible en el fragmento de código de IntelliSense. En el selector de fragmentos de código, se encuentra en XML. Para obtener más información, vea Cómo: Insertar fragmentos de código de IntelliSense.

Public Class Book
    Public Title As String
End Class

Public Sub ReadXML()
    Dim reader As New System.Xml.Serialization.XmlSerializer(GetType(Book))
    Dim file As New System.IO.StreamReader(
        "c:\temp\SerializationOverview.xml")
    Dim overview As Book
    overview = CType(reader.Deserialize(file), Book)
    Console.WriteLine(overview.Title)
End Sub
    public class Book
    {
        public String title;
    }       

public void ReadXML()
{
    System.Xml.Serialization.XmlSerializer reader = 
        new System.Xml.Serialization.XmlSerializer(typeof(Book));
    System.IO.StreamReader file = new System.IO.StreamReader(
        @"c:\temp\SerializationOverview.xml");
    Book overview = new Book();
    overview = (Book)reader.Deserialize(file);

    Console.WriteLine(overview.title);

}

Compilar el código

Sustituya el nombre de archivo "c:\IntroToVB.xml" por el nombre del archivo que contenga los datos serializados. Para obtener más información sobre datos de serialización, consulte Cómo: Escribir datos de objetos en un archivo XML (C# y Visual Basic).

La clase debe tener un constructor público sin parámetros.

Sólo se deserializan propiedades y campos públicos.

Programación eficaz

Las condiciones siguientes pueden provocar una excepción:

  • La clase que se va a serializar no tiene un constructor público sin parámetros.

  • Los datos del archivo no representan datos de la clase que se va a deserializar.

  • El archivo no existe (IOException).

Seguridad

Compruebe siempre las entradas y nunca deserialice datos procedentes de un origen que no sea de confianza. El objeto recreado se ejecuta en un equipo local con los permisos del código que lo deserializó. Compruebe todas las entradas antes de utilizar los datos en la aplicación.

Vea también

Tareas

Cómo: Escribir datos de objetos en un archivo XML (C# y Visual Basic)

Referencia

StreamWriter

Conceptos

Guía de programación de C#

Otros recursos

Serialización (C# y Visual Basic)

Guía de programación en Visual Basic