IXmlSerializable.ReadXml(XmlReader) Método

Definição

Gera um objeto a partir da sua representação XML.

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

O XmlReader fluxo do qual o objeto é desserializado.

Exemplos

O exemplo seguinte ilustra uma implementação do ReadXml método.

public void ReadXml (XmlReader reader)
{
    personName = reader.ReadString();
}

O exemplo seguinte ilustra o uso da XmlSerializer classe para desserializar este objeto.

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

Observações

O ReadXml método deve reconstituir o seu objeto usando a informação que foi escrita pelo WriteXml método.

Quando este método é chamado, o leitor é posicionado na etiqueta inicial que envolve a informação do seu tipo. Ou seja, diretamente na etiqueta inicial que indica o início de um objeto serializado. Quando este método regressa, deve ter lido todo o elemento do início ao fim, incluindo todo o seu conteúdo. Ao contrário do WriteXml método, o framework não trata automaticamente o elemento wrapper. A sua implementação tem de o fazer. Não observar estas regras de posicionamento pode fazer com que o código gere exceções inesperadas em tempo de execução ou corrupa dados.

Ao implementar este método, deve considerar a possibilidade de um utilizador malicioso fornecer uma representação XML bem formada mas inválida para desativar ou alterar de outra forma o comportamento da sua aplicação.

Aplica-se a