IXmlSerializable.ReadXml(XmlReader) Metoda

Definice

Vygeneruje objekt z jeho reprezentace 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)

Parametry

reader
XmlReader

Datový XmlReader proud, ze kterého je objekt deserializován.

Příklady

Následující příklad znázorňuje implementaci ReadXml metody.

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

Následující příklad znázorňuje použití XmlSerializer třídy k deserializaci tohoto objektu.

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

Poznámky

Metoda ReadXml musí rekonstituovat objekt pomocí informací, které byla napsána metodou WriteXml .

Při zavolání této metody se čtenář umístí na počáteční značku, která zabalí informace pro váš typ. To znamená, že přímo na počáteční značku, která označuje začátek serializovaného objektu. Pokud tato metoda vrátí, musí mít číst celý prvek od začátku do konce, včetně veškerého jeho obsahu. WriteXml Na rozdíl od metody architektura nezpracuje element obálky automaticky. Vaše implementace to musí provést. Při nedodržení těchto pravidel umístění může dojít k tomu, že kód vygeneruje neočekávané výjimky za běhu nebo poškozená data.

Při implementaci této metody byste měli zvážit možnost, že uživatel se zlými úmysly může poskytnout dobře formátované, ale neplatné vyjádření XML, aby se zakázalo nebo jinak změnilo chování vaší aplikace.

Platí pro