IXmlSerializable.ReadXml(XmlReader) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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.