XmlSerializer.Deserialize 方法

定义

反序列化 XML 文档。Deserializes an XML document.

重载

Deserialize(Stream)

反序列化指定 Stream 包含的 XML 文档。Deserializes the XML document contained by the specified Stream.

Deserialize(TextReader)

反序列化指定 TextReader 包含的 XML 文档。Deserializes the XML document contained by the specified TextReader.

Deserialize(XmlSerializationReader)

反序列化指定 XmlSerializationReader 包含的 XML 文档。Deserializes the XML document contained by the specified XmlSerializationReader.

Deserialize(XmlReader)

反序列化指定 XmlReader 包含的 XML 文档。Deserializes the XML document contained by the specified XmlReader.

Deserialize(XmlReader, String)

反序列化指定 XmlReader 和编码样式包含的 XML 文档。Deserializes the XML document contained by the specified XmlReader and encoding style.

Deserialize(XmlReader, XmlDeserializationEvents)

反序列化一个由指定的 XmlReader 包含的 XML 文档,并允许重写反序列化过程中发生的事件。Deserializes an XML document contained by the specified XmlReader and allows the overriding of events that occur during deserialization.

Deserialize(XmlReader, String, XmlDeserializationEvents)

使用指定的 XmlReader 包含的数据反序列化该对象。Deserializes the object using the data contained by the specified XmlReader.

Deserialize(Stream)

反序列化指定 Stream 包含的 XML 文档。Deserializes the XML document contained by the specified Stream.

public:
 System::Object ^ Deserialize(System::IO::Stream ^ stream);
public object Deserialize (System.IO.Stream stream);
member this.Deserialize : System.IO.Stream -> obj

参数

stream
Stream

包含要反序列化的 XML 文档的 StreamThe Stream that contains the XML document to deserialize.

返回

正被反序列化的 ObjectThe Object being deserialized.

示例

下面的示例使用 Stream 对象对对象进行反序列化。The following example deserializes an object using a Stream object.

#using <System.Xml.dll>
#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml::Serialization;

// This is the class that will be deserialized.
public ref class OrderedItem
{
public:

    [XmlElement(Namespace="http://www.cpandl.com")]
    String^ ItemName;

    [XmlElement(Namespace="http://www.cpandl.com")]
    String^ Description;

    [XmlElement(Namespace="http://www.cohowinery.com")]
    Decimal UnitPrice;

    [XmlElement(Namespace="http://www.cpandl.com")]
    int Quantity;

    [XmlElement(Namespace="http://www.cohowinery.com")]
    Decimal LineTotal;

    // A custom method used to calculate price per item.
    void Calculate()
    {
        LineTotal = UnitPrice * Quantity;
    }
};

void DeserializeObject(String^ filename)
{
    Console::WriteLine("Reading with Stream");

    // Create an instance of the XmlSerializer.
    XmlSerializer^ serializer = gcnew XmlSerializer(OrderedItem::typeid);

    // Declare an object variable of the type to be deserialized.
    OrderedItem^ i;
    
    // Reading the XML document requires a FileStream.
    Stream^ reader = gcnew FileStream(filename, FileMode::Open);

    try
    {
        // Call the Deserialize method to restore the object's state.
        i = dynamic_cast<OrderedItem^>(serializer->Deserialize(reader));
    }
    finally
    {
        delete reader;
    }

    // Write out the properties of the object.
    Console::Write("{0}\t{1}\t{2}\t{3}\t{4}", i->ItemName, i->Description, i->UnitPrice, i->Quantity, i->LineTotal);
}

int main()
{
    // Read a purchase order.
    DeserializeObject( "simple.xml" );
}
using System;
using System.IO;
using System.Xml.Serialization;

// This is the class that will be deserialized.
public class OrderedItem
{
    [XmlElement(Namespace = "http://www.cpandl.com")]
    public string ItemName;
    [XmlElement(Namespace = "http://www.cpandl.com")]
    public string Description;
    [XmlElement(Namespace="http://www.cohowinery.com")]
    public decimal UnitPrice;
    [XmlElement(Namespace = "http://www.cpandl.com")]
    public int Quantity;
    [XmlElement(Namespace="http://www.cohowinery.com")]
    public decimal LineTotal;
    // A custom method used to calculate price per item.
    public void Calculate()
    {
        LineTotal = UnitPrice * Quantity;
    }
}
 
public class Test
{
    public static void Main()
    {
        Test t = new Test();
        // Read a purchase order.
        t.DeserializeObject("simple.xml");
    }

    private void DeserializeObject(string filename)
    {   
        Console.WriteLine("Reading with Stream");
        // Create an instance of the XmlSerializer.
        XmlSerializer serializer = 
        new XmlSerializer(typeof(OrderedItem));
          
        // Declare an object variable of the type to be deserialized.
        OrderedItem i;

        using (Stream reader = new FileStream(filename, FileMode.Open))
        {
            // Call the Deserialize method to restore the object's state.
            i = (OrderedItem)serializer.Deserialize(reader);          
        }

        // Write out the properties of the object.
        Console.Write(
        i.ItemName + "\t" +
        i.Description + "\t" +
        i.UnitPrice + "\t" +
        i.Quantity + "\t" +
        i.LineTotal);
    }
}

Imports System.IO
Imports System.Xml.Serialization

' This is the class that will be deserialized.
Public Class OrderedItem
    <XmlElement(Namespace := "http://www.cpandl.com")> _
    Public ItemName As String

    <XmlElement(Namespace := "http://www.cpandl.com")> _
    Public Description As String
    
    <XmlElement(Namespace := "http://www.cohowinery.com")> _
    Public UnitPrice As Decimal
    
    <XmlElement(Namespace := "http://www.cpandl.com")> _
    Public Quantity As Integer
    
    <XmlElement(Namespace := "http://www.cohowinery.com")> _
    Public LineTotal As Decimal
    
    'A custom method used to calculate price per item.
    Public Sub Calculate()
        LineTotal = UnitPrice * Quantity
    End Sub
End Class

Public Class Test
    
    Public Shared Sub Main()
        Dim t As New Test()
        ' Read a purchase order.
        t.DeserializeObject("simple.xml")
    End Sub
        
    Private Sub DeserializeObject(ByVal filename As String)
        Console.WriteLine("Reading with Stream")
        ' Create an instance of the XmlSerializer.
        Dim serializer As New XmlSerializer(GetType(OrderedItem))       
        
        ' Declare an object variable of the type to be deserialized.
        Dim i As OrderedItem

        Using reader As New Filestream(filename, FileMode.Open)

            ' Call the Deserialize method to restore the object's state.
            i = CType(serializer.Deserialize(reader), OrderedItem)
        End Using

        ' Write out the properties of the object.
        Console.Write(i.ItemName & ControlChars.Tab & _
                      i.Description & ControlChars.Tab & _
                      i.UnitPrice & ControlChars.Tab & _
                      i.Quantity & ControlChars.Tab & _
                      i.LineTotal)
    End Sub
End Class

<?xml version="1.0"?>
 <OrderedItem xmlns:inventory="http://www.cpandl.com" xmlns:money="http://www.cohowinery.com">
   <inventory:ItemName>Widget</inventory:ItemName>
   <inventory:Description>Regular Widget</inventory:Description>
   <money:UnitPrice>2.3</money:UnitPrice>
   <inventory:Quantity>10</inventory:Quantity>
   <money:LineTotal>23</money:LineTotal>
 </OrderedItem>

注解

反序列化是读取 XML 文档并构造强类型化到文档的 XML 架构(XSD)的对象的过程。Deserialization is the process of reading an XML document and constructing an object that is strongly typed to the XML Schema (XSD) of the document.

在反序列化之前,必须使用要反序列化的对象的类型构造 XmlSerializerBefore deserializing, an XmlSerializer must be constructed using the type of the object that is being deserialized.

使用 stream 参数来指定派生自 Stream 类的对象,该对象旨在写入流。Use the stream parameter to specify an object that derives from the Stream class, which is designed to write to streams. 派生自 Stream 类的类包括:Classes that derive from the Stream class include:

备注

XmlSerializer 无法反序列化以下内容: List<T>ArrayList 和数组的数组。The XmlSerializer cannot deserialize the following: arrays of ArrayList and arrays of List<T>.

另请参阅

Deserialize(TextReader)

反序列化指定 TextReader 包含的 XML 文档。Deserializes the XML document contained by the specified TextReader.

public:
 System::Object ^ Deserialize(System::IO::TextReader ^ textReader);
public object Deserialize (System.IO.TextReader textReader);
member this.Deserialize : System.IO.TextReader -> obj

参数

textReader
TextReader

包含要反序列化的 XML 文档的 TextReaderThe TextReader that contains the XML document to deserialize.

返回

正被反序列化的 ObjectThe Object being deserialized.

异常

反序列化期间发生错误。An error occurred during deserialization. 使用 InnerException 属性时可使用原始异常。The original exception is available using the InnerException property.

示例

下面的示例使用 TextReader 对象对对象进行反序列化。The following example deserializes an object using a TextReader object.

#using <System.Xml.dll>
#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Text;
using namespace System::Xml::Serialization;

// This is the class that will be deserialized.
public ref class OrderedItem
{
public:
    String^ ItemName;
    String^ Description;
    Decimal UnitPrice;
    int Quantity;
    Decimal LineTotal;

    // A custom method used to calculate price per item.
    void Calculate()
    {
        LineTotal = UnitPrice * Quantity;
    }
};

void DeserializeObject( String^ filename )
{
    Console::WriteLine( "Reading with TextReader" );

    // Create an instance of the XmlSerializer specifying type.
    XmlSerializer^ serializer = gcnew XmlSerializer( OrderedItem::typeid );

    /* Create a TextReader to read the file. Specify an
       Encoding to use. */
    TextReader^ reader = gcnew StreamReader( filename,Encoding::Unicode );

    // Declare an object variable of the type to be deserialized.
    OrderedItem^ i;

    // Use the Deserialize method to restore the object's state.
    i = dynamic_cast<OrderedItem^>(serializer->Deserialize( reader ));

    // Write out the properties of the object.
    Console::Write( "{0}\t{1}\t{2}\t{3}\t{4}", i->ItemName, i->Description, i->UnitPrice, i->Quantity, i->LineTotal );
}

int main()
{
    // Read a purchase order.
    DeserializeObject( "simple.xml" );
}
using System;
using System.IO;
using System.Text;
using System.Xml.Serialization;

// This is the class that will be deserialized.
public class OrderedItem
{
    [XmlElement(Namespace = "http://www.cpandl.com")]
    public string ItemName;
    [XmlElement(Namespace = "http://www.cpandl.com")]
    public string Description;
    [XmlElement(Namespace = "http://www.cohowinery.com")]
    public decimal UnitPrice;
    [XmlElement(Namespace = "http://www.cpandl.com")]
    public int Quantity;
    [XmlElement(Namespace = "http://www.cohowinery.com")]
    public decimal LineTotal;
    // A custom method used to calculate price per item.
    public void Calculate()
    {
        LineTotal = UnitPrice * Quantity;
    }
}
 
public class Test
{
   public static void Main()
    {
        Test t = new Test();
        // Read a purchase order.
        t.DeserializeObject("simple.xml");
    }

    private void DeserializeObject(string filename)
    {   
        Console.WriteLine("Reading with TextReader");

        // Create an instance of the XmlSerializer specifying type.
        XmlSerializer serializer = 
        new XmlSerializer(typeof(OrderedItem));

        // Create a TextReader to read the file. 
        FileStream fs = new FileStream(filename, FileMode.OpenOrCreate);
        TextReader reader = new StreamReader(fs);
      
        // Declare an object variable of the type to be deserialized.
        OrderedItem i;

        // Use the Deserialize method to restore the object's state.
        i = (OrderedItem) serializer.Deserialize(reader);

        // Write out the properties of the object.
        Console.Write(
            i.ItemName + "\t" +
            i.Description + "\t" +
            i.UnitPrice + "\t" +
            i.Quantity + "\t" +
            i.LineTotal);
    }
}
Imports System.IO
Imports System.Text
Imports System.Xml.Serialization

' This is the class that will be deserialized.
Public Class OrderedItem
    <XmlElement(Namespace := "http://www.cpandl.com")> _
    Public ItemName As String

    <XmlElement(Namespace := "http://www.cpandl.com")> _
    Public Description As String
    
    <XmlElement(Namespace := "http://www.cohowinery.com")> _
    Public UnitPrice As Decimal
    
    <XmlElement(Namespace := "http://www.cpandl.com")> _
    Public Quantity As Integer
    
    <XmlElement(Namespace := "http://www.cohowinery.com")> _
    Public LineTotal As Decimal
    ' A custom method used to calculate price per item.
    Public Sub Calculate()
        LineTotal = UnitPrice * Quantity
    End Sub
End Class
Public Class Test
    
    Public Shared Sub Main()
        Dim t As New Test()
        ' Read a purchase order.
        t.DeserializeObject("simple.xml")
    End Sub
    
    Private Sub DeserializeObject(filename As String)
        Console.WriteLine("Reading with TextReader")
        
        ' Create an instance of the XmlSerializer specifying type.
        Dim serializer As New XmlSerializer(GetType(OrderedItem))
        
        ' Create a TextReader to read the file. 
        Dim fs as New FileStream(filename, FileMode.OpenOrCreate)
        Dim reader As New StreamReader(fs)
        
        ' Declare an object variable of the type to be deserialized.
        Dim i As OrderedItem
        
        ' Use the Deserialize method to restore the object's state.
        i = CType(serializer.Deserialize(reader), OrderedItem)
        
        ' Write out the properties of the object.
        Console.Write(i.ItemName & ControlChars.Tab & _
                      i.Description & ControlChars.Tab & _
                      i.UnitPrice & ControlChars.Tab & _
                      i.Quantity & ControlChars.Tab & _
                      i.LineTotal)
    End Sub
End Class

注解

反序列化是读取 XML 文档实例,并构造强类型化到文档的 XML 架构(XSD)的对象的过程。Deserialization is the process of reading an instance of an XML document and constructing an object that is strongly typed to the XML Schema (XSD) of the document.

在反序列化之前,必须使用要反序列化的对象的类型构造 XmlSerializerBefore deserializing, an XmlSerializer must be constructed using the type of the object that is being deserialized.

继承自 TextReader 的类包括 StringReaderStreamReaderClasses that inherit from TextReader include StringReader and StreamReader. 如果使用 StreamReader 反序列化对象,则必须使用相应的 Encoding构造 StreamReaderIf you are using a StreamReader to deserialize an object, you must construct the StreamReader with an appropriate Encoding. XML 文档指定的编码将被忽略。The encoding specified by the XML document is ignored.

备注

若要使用 XML 文档指定的编码,请使用采用 XmlReaderDeserialize 重载。To use the encoding specified by the XML document, use the Deserialize overload that takes an XmlReader instead. XmlReader 会自动检测并使用 XML 文档指定的编码。The XmlReader automatically detects and uses the encoding specified by the XML document.

备注

XmlSerializer 无法反序列化以下内容: List<T>ArrayList 和数组的数组。The XmlSerializer cannot deserialize the following: arrays of ArrayList and arrays of List<T>.

另请参阅

Deserialize(XmlSerializationReader)

反序列化指定 XmlSerializationReader 包含的 XML 文档。Deserializes the XML document contained by the specified XmlSerializationReader.

protected:
 virtual System::Object ^ Deserialize(System::Xml::Serialization::XmlSerializationReader ^ reader);
protected virtual object Deserialize (System.Xml.Serialization.XmlSerializationReader reader);
abstract member Deserialize : System.Xml.Serialization.XmlSerializationReader -> obj
override this.Deserialize : System.Xml.Serialization.XmlSerializationReader -> obj
Protected Overridable Function Deserialize (reader As XmlSerializationReader) As Object

参数

reader
XmlSerializationReader

包含要反序列化的 XML 文档的 XmlSerializationReaderThe XmlSerializationReader that contains the XML document to deserialize.

返回

已反序列化的对象。The deserialized object.

异常

当未在子类中重写该方法时,为访问该方法进行的任何尝试。Any attempt is made to access the method when the method is not overridden in a descendant class.

Deserialize(XmlReader)

反序列化指定 XmlReader 包含的 XML 文档。Deserializes the XML document contained by the specified XmlReader.

public:
 System::Object ^ Deserialize(System::Xml::XmlReader ^ xmlReader);
public object Deserialize (System.Xml.XmlReader xmlReader);
member this.Deserialize : System.Xml.XmlReader -> obj

参数

xmlReader
XmlReader

包含要反序列化的 XML 文档的 XmlReaderThe XmlReader that contains the XML document to deserialize.

返回

正被反序列化的 ObjectThe Object being deserialized.

异常

反序列化期间发生错误。An error occurred during deserialization. 使用 InnerException 属性时可使用原始异常。The original exception is available using the InnerException property.

示例

下面的示例使用 XmlReader反序列化对象。The following example deserializes an object using an XmlReader.

#using <System.Xml.dll>
#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Text;
using namespace System::Xml;
using namespace System::Xml::Serialization;

// This is the class that will be deserialized.
public ref class OrderedItem
{
public:
    String^ ItemName;
    String^ Description;
    Decimal UnitPrice;
    int Quantity;
    Decimal LineTotal;

    // A custom method used to calculate price per item.
    void Calculate()
    {
        LineTotal = UnitPrice * Quantity;
    }
};

void DeserializeObject( String^ filename )
{
    Console::WriteLine( "Reading with XmlReader" );

    // Create an instance of the XmlSerializer specifying type and namespace.
    XmlSerializer^ serializer = gcnew XmlSerializer( OrderedItem::typeid );

    // A FileStream is needed to read the XML document.
    FileStream^ fs = gcnew FileStream( filename,FileMode::Open );
    XmlReader^ reader = gcnew XmlTextReader( fs );

    // Declare an object variable of the type to be deserialized.
    OrderedItem^ i;

    // Use the Deserialize method to restore the object's state.
    i = dynamic_cast<OrderedItem^>(serializer->Deserialize( reader ));

    // Write out the properties of the object.
    Console::Write( "{0}\t{1}\t{2}\t{3}\t{4}", i->ItemName, i->Description, i->UnitPrice, i->Quantity, i->LineTotal );
}

int main()
{
    // Read a purchase order.
    DeserializeObject( "simple.xml" );
}
using System;
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Serialization;

// This is the class that will be deserialized.
public class OrderedItem
{
    public string ItemName;
    public string Description;
    public decimal UnitPrice;
    public int Quantity;
    public decimal LineTotal;

    // A custom method used to calculate price per item.
    public void Calculate()
    {
        LineTotal = UnitPrice * Quantity;
    }
}
public class Test
{
    public static void Main(string[] args)
    {
        Test t = new Test();
        // Read a purchase order.
        t.DeserializeObject("simple.xml");
    }

    private void DeserializeObject(string filename)
    {
        Console.WriteLine("Reading with XmlReader");

        // Create an instance of the XmlSerializer specifying type and namespace.
        XmlSerializer serializer = new
        XmlSerializer(typeof(OrderedItem));

        // A FileStream is needed to read the XML document.
        FileStream fs = new FileStream(filename, FileMode.Open);
        XmlReader reader = XmlReader.Create(fs);

        // Declare an object variable of the type to be deserialized.
        OrderedItem i;

        // Use the Deserialize method to restore the object's state.
        i = (OrderedItem)serializer.Deserialize(reader);
        fs.Close();

        // Write out the properties of the object.
        Console.Write(
        i.ItemName + "\t" +
        i.Description + "\t" +
        i.UnitPrice + "\t" +
        i.Quantity + "\t" +
        i.LineTotal);
    }
}
Imports System.IO
Imports System.Text
Imports System.Xml
Imports System.Xml.Serialization

' This is the class that will be deserialized.
Public Class OrderedItem
    Public ItemName As String
    Public Description As String
    Public UnitPrice As Decimal
    Public Quantity As Integer
    Public LineTotal As Decimal
        
    ' A custom method used to calculate price per item.
    Public Sub Calculate()
        LineTotal = UnitPrice * Quantity
    End Sub
End Class

Public Class Test
    
    Public Shared Sub Main()
        Dim t As New Test()
        ' Read a purchase order.
        t.DeserializeObject("simple.xml")
    End Sub
      
    Private Sub DeserializeObject(ByVal filename As String)
        Console.WriteLine("Reading with XmlReader")
        
        ' Create an instance of the XmlSerializer specifying type and namespace.
        Dim serializer As New XmlSerializer(GetType(OrderedItem))
        
        ' A FileStream is needed to read the XML document.
        Dim fs As New FileStream(filename, FileMode.Open)
        Dim reader As XmlReader = XmlReader.Create(fs)
        
        ' Declare an object variable of the type to be deserialized.
        Dim i As OrderedItem
        
        ' Use the Deserialize method to restore the object's state.
        i = CType(serializer.Deserialize(reader), OrderedItem)
        fs.Close()

        ' Write out the properties of the object.
        Console.Write(i.ItemName & ControlChars.Tab & _
                      i.Description & ControlChars.Tab & _
                      i.UnitPrice & ControlChars.Tab & _
                      i.Quantity & ControlChars.Tab & _
                      i.LineTotal)
    End Sub
End Class

<?xml version="1.0"?>
 <OrderedItem xmlns:inventory="http://www.cpandl.com" xmlns:money="http://www.cohowinery.com">
   <inventory:ItemName>Widget</inventory:ItemName>
   <inventory:Description>Regular Widget</inventory:Description>
   <money:UnitPrice>2.3</money:UnitPrice>
   <inventory:Quantity>10</inventory:Quantity>
   <money:LineTotal>23</money:LineTotal>
 </OrderedItem>

注解

反序列化是读取 XML 文档实例,并构造强类型化到文档的 XML 架构(XSD)的对象的过程。Deserialization is the process of reading an instance of an XML document and constructing an object that is strongly typed to the XML Schema (XSD) of the document.

在反序列化之前,必须使用要反序列化的对象的类型构造 XmlSerializerBefore deserializing, an XmlSerializer must be constructed using the type of the object that is being deserialized.

XmlReader 会自动检测并使用 XML 文档指定的编码。The XmlReader automatically detects and uses the encoding specified by the XML document.

备注

XmlSerializer 无法反序列化以下内容: List<T>ArrayList 和数组的数组。The XmlSerializer cannot deserialize the following: arrays of ArrayList and arrays of List<T>.

另请参阅

Deserialize(XmlReader, String)

反序列化指定 XmlReader 和编码样式包含的 XML 文档。Deserializes the XML document contained by the specified XmlReader and encoding style.

public:
 System::Object ^ Deserialize(System::Xml::XmlReader ^ xmlReader, System::String ^ encodingStyle);
public object Deserialize (System.Xml.XmlReader xmlReader, string encodingStyle);
member this.Deserialize : System.Xml.XmlReader * string -> obj

参数

xmlReader
XmlReader

包含要反序列化的 XML 文档的 XmlReaderThe XmlReader that contains the XML document to deserialize.

encodingStyle
String

序列化的 XML 的编码样式。The encoding style of the serialized XML.

返回

已反序列化的对象。The deserialized object.

异常

反序列化期间发生错误。An error occurred during deserialization. 使用 InnerException 属性时可使用原始异常。The original exception is available using the InnerException property.

注解

反序列化是读取 XML 文档实例,并构造强类型化到文档的 XML 架构(XSD)的对象的过程。Deserialization is the process of reading an instance of an XML document and constructing an object that is strongly typed to the XML Schema (XSD) of the document.

在反序列化之前,必须使用要反序列化的对象的类型构造 XmlSerializerBefore deserializing, an XmlSerializer must be constructed using the type of the object that is being deserialized.

将 SOAP 版本1.1 编码的 encodingStyle 参数设置为 "http://schemas.xmlsoap.org/soap/encoding/";否则,请将其设置为 "http://www.w3.org/2001/12/soap-encoding" 以进行 SOAP 版本1.2 编码。Set the encodingStyle parameter to "http://schemas.xmlsoap.org/soap/encoding/" for SOAP version 1.1 encoding; otherwise, set it to "http://www.w3.org/2001/12/soap-encoding" for SOAP version 1.2 encoding.

注意XmlSerializer 无法反序列化以下内容: List<T>ArrayList 和数组的数组。Note The XmlSerializer cannot deserialize the following: arrays of ArrayList and arrays of List<T>.

另请参阅

Deserialize(XmlReader, XmlDeserializationEvents)

反序列化一个由指定的 XmlReader 包含的 XML 文档,并允许重写反序列化过程中发生的事件。Deserializes an XML document contained by the specified XmlReader and allows the overriding of events that occur during deserialization.

public:
 System::Object ^ Deserialize(System::Xml::XmlReader ^ xmlReader, System::Xml::Serialization::XmlDeserializationEvents events);
public object Deserialize (System.Xml.XmlReader xmlReader, System.Xml.Serialization.XmlDeserializationEvents events);
member this.Deserialize : System.Xml.XmlReader * System.Xml.Serialization.XmlDeserializationEvents -> obj

参数

xmlReader
XmlReader

包含要反序列化的文档的 XmlReaderThe XmlReader that contains the document to deserialize.

events
XmlDeserializationEvents

XmlDeserializationEvents 类的实例。An instance of the XmlDeserializationEvents class.

返回

正被反序列化的 ObjectThe Object being deserialized.

注解

要反序列化的对象。The object being deserialized.

Deserialize(XmlReader, String, XmlDeserializationEvents)

使用指定的 XmlReader 包含的数据反序列化该对象。Deserializes the object using the data contained by the specified XmlReader.

public:
 System::Object ^ Deserialize(System::Xml::XmlReader ^ xmlReader, System::String ^ encodingStyle, System::Xml::Serialization::XmlDeserializationEvents events);
public object Deserialize (System.Xml.XmlReader xmlReader, string encodingStyle, System.Xml.Serialization.XmlDeserializationEvents events);
member this.Deserialize : System.Xml.XmlReader * string * System.Xml.Serialization.XmlDeserializationEvents -> obj

参数

xmlReader
XmlReader

XmlReader 类的实例,用于读取文档。An instance of the XmlReader class used to read the document.

encodingStyle
String

使用的编码方式。The encoding used.

events
XmlDeserializationEvents

XmlDeserializationEvents 类的实例。An instance of the XmlDeserializationEvents class.

返回

要反序列化的对象。The object being deserialized.

注解

仅对 Web 服务方案的未知标头进行反序列化时,此方法是必需的。This method is required for deserialization of unknown headers for Web Service scenarios only. 此方法允许你在 Web 服务方法中避免事件同步。This method allows you to avoid event synchronization in Web Service methods.

适用于