IXmlSerializable.ReadXml(XmlReader) Yöntem

Tanım

XML gösteriminden bir nesne oluşturur.

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)

Parametreler

reader
XmlReader

Nesnenin XmlReader seri durumdan çıkarıldığı akış.

Örnekler

Aşağıdaki örnekte yönteminin bir uygulaması gösterilmektedir ReadXml .

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

Aşağıdaki örnekte, bu nesnenin seri durumdan XmlSerializer çıkarılması için sınıfının kullanımı gösterilmektedir.

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

Açıklamalar

yöntemi, ReadXml yöntemi tarafından WriteXml yazılan bilgileri kullanarak nesnenizi yeniden oluşturmalıdır.

Bu yöntem çağrıldığında okuyucu, türünüzle ilgili bilgileri sarmalayan başlangıç etiketine konumlandırılır. Yani, doğrudan serileştirilmiş bir nesnenin başlangıcını gösteren başlangıç etiketinde. Bu yöntem döndürdüğünde, tüm içeriği dahil olmak üzere öğenin tamamını baştan sona okuması gerekir. yönteminden WriteXml farklı olarak, çerçeve sarmalayıcı öğesini otomatik olarak işlemez. Uygulamanız bunu yapmalıdır. Bu konumlandırma kurallarını gözlemlememek, kodun beklenmeyen çalışma zamanı özel durumları veya bozuk veriler oluşturmasına neden olabilir.

Bu yöntemi uygularken, kötü amaçlı bir kullanıcının uygulamanızın davranışını devre dışı bırakmak veya başka bir şekilde değiştirmek için iyi biçimlendirilmiş ancak geçersiz bir XML gösterimi sağlama olasılığını göz önünde bulundurmanız gerekir.

Şunlara uygulanır