DataContractSerializer.ReadObject 메서드

정의

XML 스트림을 읽고 역직렬화된 개체를 반환합니다.

오버로드

ReadObject(XmlReader)

XmlReader를 사용하여 XML 스트림을 읽고 역직렬화된 개체를 반환합니다.

ReadObject(XmlDictionaryReader, Boolean)

XmlDictionaryReader를 사용하여 XML 스트림을 읽고 역직렬화된 개체를 반환하며, 값을 읽기 전에 개체 이름을 확인하는지 여부도 지정합니다.

ReadObject(XmlReader, Boolean)

XmlReader를 사용하여 XML 스트림을 읽고 역직렬화된 개체를 반환하며, 값을 읽기 전에 개체 이름을 확인하는지 여부도 지정합니다.

ReadObject(XmlDictionaryReader, Boolean, DataContractResolver)

XML 문서 또는 문서 스트림을 읽고 역직렬화된 개체를 반환합니다. 메서드에는 확인된 개체 이름의 유효성 검사 여부를 지정하는 매개 변수와 런타임에 xsi:type 선언을 매핑하기 위한 확인자가 포함됩니다.

ReadObject(XmlReader)

XmlReader를 사용하여 XML 스트림을 읽고 역직렬화된 개체를 반환합니다.

public:
 override System::Object ^ ReadObject(System::Xml::XmlReader ^ reader);
public override object ReadObject (System.Xml.XmlReader reader);
public override object? ReadObject (System.Xml.XmlReader reader);
override this.ReadObject : System.Xml.XmlReader -> obj
Public Overrides Function ReadObject (reader As XmlReader) As Object

매개 변수

reader
XmlReader

XML 스트림을 읽는 데 사용되는 XmlReader입니다.

반환

Object

역직렬화된 개체입니다.

적용 대상

ReadObject(XmlDictionaryReader, Boolean)

XmlDictionaryReader를 사용하여 XML 스트림을 읽고 역직렬화된 개체를 반환하며, 값을 읽기 전에 개체 이름을 확인하는지 여부도 지정합니다.

public:
 override System::Object ^ ReadObject(System::Xml::XmlDictionaryReader ^ reader, bool verifyObjectName);
public override object ReadObject (System.Xml.XmlDictionaryReader reader, bool verifyObjectName);
public override object? ReadObject (System.Xml.XmlDictionaryReader reader, bool verifyObjectName);
override this.ReadObject : System.Xml.XmlDictionaryReader * bool -> obj
Public Overrides Function ReadObject (reader As XmlDictionaryReader, verifyObjectName As Boolean) As Object

매개 변수

reader
XmlDictionaryReader

XML 스트림을 읽는 데 사용되는 XmlDictionaryReader입니다.

verifyObjectName
Boolean

개체의 이름이 생성자에서 제공된 루트 이름 값과 일치하는지 여부를 확인하려면 true이고, 그렇지 않으면 false입니다.

반환

Object

역직렬화된 개체입니다.

예외

verifyObjectName 매개 변수가 true로 설정되고 요소 이름과 네임스페이스가 생성자에서 설정된 값과 일치하지 않는 경우

예제

다음 예제에서는 XML 문서를 읽고 개체의 인스턴스를 역직렬화합니다.

public static void ReadObject(string fileName)
{
    Console.WriteLine("Deserializing an instance of the object.");
    FileStream fs = new FileStream(fileName,
    FileMode.Open);
    XmlDictionaryReader reader =
        XmlDictionaryReader.CreateTextReader(fs, new XmlDictionaryReaderQuotas());
    DataContractSerializer ser = new DataContractSerializer(typeof(Person));

    // Deserialize the data and read it from the instance.
    Person deserializedPerson =
        (Person)ser.ReadObject(reader, true);
    reader.Close();
    fs.Close();
    Console.WriteLine(String.Format("{0} {1}, ID: {2}",
    deserializedPerson.FirstName, deserializedPerson.LastName,
    deserializedPerson.ID));
}
Public Shared Sub ReadObject(ByVal fileName As String) 
    Console.WriteLine("Deserializing an instance of the object.")
    Dim fs As New FileStream(fileName, FileMode.Open)
    Dim reader As XmlDictionaryReader = _
        XmlDictionaryReader.CreateTextReader(fs, New XmlDictionaryReaderQuotas())
    Dim ser As New DataContractSerializer(GetType(Person))
    
    ' Deserialize the data and read it from the instance.
    Dim deserializedPerson As Person = CType(ser.ReadObject(reader, True), Person)
    reader.Close()
    fs.Close()
    Console.WriteLine(String.Format("{0} {1}, ID: {2}", deserializedPerson.FirstName, deserializedPerson.LastName, deserializedPerson.ID))
End Sub

적용 대상

ReadObject(XmlReader, Boolean)

XmlReader를 사용하여 XML 스트림을 읽고 역직렬화된 개체를 반환하며, 값을 읽기 전에 개체 이름을 확인하는지 여부도 지정합니다.

public:
 override System::Object ^ ReadObject(System::Xml::XmlReader ^ reader, bool verifyObjectName);
public override object ReadObject (System.Xml.XmlReader reader, bool verifyObjectName);
public override object? ReadObject (System.Xml.XmlReader reader, bool verifyObjectName);
override this.ReadObject : System.Xml.XmlReader * bool -> obj
Public Overrides Function ReadObject (reader As XmlReader, verifyObjectName As Boolean) As Object

매개 변수

reader
XmlReader

XML 스트림을 읽는 데 사용되는 XmlReader입니다.

verifyObjectName
Boolean

개체의 이름이 생성자에서 제공된 루트 이름 값과 일치하는지 여부를 확인하려면 true이고, 그렇지 않으면 false입니다.

반환

Object

역직렬화된 개체입니다.

예외

verifyObjectName 매개 변수가 true로 설정되고 요소 이름과 네임스페이스가 생성자에서 설정된 값과 일치하지 않는 경우

적용 대상

ReadObject(XmlDictionaryReader, Boolean, DataContractResolver)

XML 문서 또는 문서 스트림을 읽고 역직렬화된 개체를 반환합니다. 메서드에는 확인된 개체 이름의 유효성 검사 여부를 지정하는 매개 변수와 런타임에 xsi:type 선언을 매핑하기 위한 확인자가 포함됩니다.

public:
 System::Object ^ ReadObject(System::Xml::XmlDictionaryReader ^ reader, bool verifyObjectName, System::Runtime::Serialization::DataContractResolver ^ dataContractResolver);
public object? ReadObject (System.Xml.XmlDictionaryReader reader, bool verifyObjectName, System.Runtime.Serialization.DataContractResolver? dataContractResolver);
public object ReadObject (System.Xml.XmlDictionaryReader reader, bool verifyObjectName, System.Runtime.Serialization.DataContractResolver dataContractResolver);
override this.ReadObject : System.Xml.XmlDictionaryReader * bool * System.Runtime.Serialization.DataContractResolver -> obj
Public Function ReadObject (reader As XmlDictionaryReader, verifyObjectName As Boolean, dataContractResolver As DataContractResolver) As Object

매개 변수

reader
XmlDictionaryReader

콘텐츠를 읽는 데 사용되는 XML 판독기입니다.

verifyObjectName
Boolean

개체 이름을 확인하면 true이고, 그렇지 않으면 false입니다.

dataContractResolver
DataContractResolver

xsi:type 선언을 데이터 계약 형식에 매핑하기 위한 DataContractResolver의 구현입니다.

반환

Object

역직렬화된 개체입니다.

적용 대상