IXmlSerializable.ReadXml(XmlReader) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Létrehoz egy objektumot az XML-reprezentációjából.
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)
Paraméterek
Példák
Az alábbi példa a metódus implementálását szemlélteti ReadXml .
public void ReadXml (XmlReader reader)
{
personName = reader.ReadString();
}
Az alábbi példa az osztálynak az XmlSerializer objektum deszerializálására való használatát mutatja be.
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);
}
}
Megjegyzések
A ReadXml metódusnak újra létre kell tennie az objektumot a metódus által WriteXml írt információk alapján.
Ennek a metódusnak a meghívásakor az olvasó a típus információit burkoló kezdőcímkén lesz elhelyezve. Ez azt jelenti, hogy közvetlenül a kezdőcímkén, amely egy szerializált objektum elejét jelzi. Amikor ez a metódus visszatér, a teljes elemet be kell olvasnia az elejétől a végéig, beleértve az összes tartalmát is. A WriteXml metódustól eltérően a keretrendszer nem kezeli automatikusan a burkolóelemet. A megvalósításnak ezt kell tennie. Ha nem tartja be ezeket a helymeghatározó szabályokat, a kód váratlan futásidejű kivételeket vagy sérült adatokat eredményezhet.
A módszer megvalósításakor érdemes megfontolni annak lehetőségét, hogy egy rosszindulatú felhasználó megfelelően formázott, de érvénytelen XML-reprezentációt biztosítson az alkalmazás viselkedésének letiltásához vagy egyéb módon történő módosításához.