IXmlSerializable.ReadXml(XmlReader) IXmlSerializable.ReadXml(XmlReader) IXmlSerializable.ReadXml(XmlReader) IXmlSerializable.ReadXml(XmlReader) Method

Definición

Genera un objeto a partir de su representación XML.Generates an object from its XML representation.

public:
 void ReadXml(System::Xml::XmlReader ^ reader);
public void ReadXml (System.Xml.XmlReader reader);
abstract member ReadXml : System.Xml.XmlReader -> unit
Public Sub ReadXml (reader As XmlReader)

Parámetros

reader
XmlReader XmlReader XmlReader XmlReader

Secuencia de XmlReader desde la que se deserializa el objeto.The XmlReader stream from which the object is deserialized.

Ejemplos

El ejemplo siguiente muestra una implementación de la ReadXml método.The following example illustrates an implementation of the ReadXml method.

virtual void ReadXml( XmlReader^ reader )
{
   personName = reader->ReadString();
}
public void ReadXml (XmlReader reader)
{
    personName = reader.ReadString();
}

El ejemplo siguiente muestra el uso de la XmlSerializer clase para deserializar este objeto.The following example illustrates the use of the XmlSerializer class to deserialize this object.

#using <System.Xml.dll>
#using <System.dll>
#using <Person.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml::Serialization;

int main()
{
   XmlSerializer^ serializer = gcnew XmlSerializer( Person::typeid );
   FileStream^ file = gcnew FileStream( "test.xml",FileMode::Open );
   Person^ aPerson = dynamic_cast<Person^>(serializer->Deserialize( file ));
   Console::WriteLine( aPerson );
}
using System;
using System.IO;
using System.Xml.Serialization;

public class Reader {

  public static void Main() {
    XmlSerializer serializer = new XmlSerializer(typeof(Person));
    FileStream file = new FileStream("test.xml", FileMode.Open);
    Person aPerson = (Person) serializer.Deserialize(file);
    Console.WriteLine(aPerson);
  }

}

Comentarios

El ReadXml método debe reconstituir el objeto con la información que escribió la WriteXml método.The ReadXml method must reconstitute your object using the information that was written by the WriteXml method.

Cuando se llama a este método, el lector está situado en la etiqueta de apertura que encapsula la información de su tipo.When this method is called, the reader is positioned on the start tag that wraps the information for your type. Es decir, directamente en la etiqueta de apertura indica el principio de un objeto serializado.That is, directly on the start tag that indicates the beginning of a serialized object. Cuando este método finaliza, debe tener lectura todo el elemento de principio a fin, incluido todo su contenido.When this method returns, it must have read the entire element from beginning to end, including all of its contents. A diferencia de la WriteXml método, el marco de trabajo no controla automáticamente el elemento contenedor.Unlike the WriteXml method, the framework does not handle the wrapper element automatically. Su implementación debe hacerlo.Your implementation must do so. No se puede observar estas reglas de posicionamiento provocaría un código generar excepciones de tiempo de ejecución inesperado o datos dañados.Failing to observe these positioning rules may cause code to generate unexpected runtime exceptions or corrupt data.

Al implementar este método, debe considerar la posibilidad de que un usuario malintencionado podría proporcionar una representación de XML con formato correcto pero no es válida con el fin de deshabilitar o modificar el comportamiento de la aplicación.When implementing this method, you should consider the possibility that a malicious user might provide a well-formed but invalid XML representation in order to disable or otherwise alter the behavior of your application.

Se aplica a