IXmlSerializable.ReadXml(XmlReader) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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.