IXmlSerializable.ReadXml(XmlReader) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает объект из его 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)
Параметры
Примеры
В следующем примере показана реализация ReadXml метода.
public void ReadXml (XmlReader reader)
{
personName = reader.ReadString();
}
В следующем примере показано использование XmlSerializer класса для десериализации этого объекта.
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);
}
}
Комментарии
Метод ReadXml должен воссоздать объект с помощью сведений, записанных методом WriteXml .
При вызове этого метода средство чтения размещается в начальном теге, который упаковывает сведения для вашего типа. То есть непосредственно на начальном теге, который указывает начало сериализованного объекта. Когда этот метод возвращается, он должен считывать весь элемент от начала до конца, включая все его содержимое. WriteXml В отличие от метода, платформа не обрабатывает элемент оболочки автоматически. Реализация должна сделать это. Не соблюдая эти правила позиционирования, код может привести к возникновению непредвиденных исключений среды выполнения или повреждения данных.
При реализации этого метода следует учитывать возможность того, что злоумышленник может предоставить хорошо сформированное, но недопустимое XML-представление, чтобы отключить или изменить поведение приложения.