XmlSerializer를 사용 하 여 개체를 deserialize 하는 방법How to deserialize an object using XmlSerializer

개체를 역직렬화할 때는 전송 형식에 따라 스트림을 만들지 파일 개체를 만들지 여부가 결정됩니다.When you deserialize an object, the transport format determines whether you will create a stream or file object. 전송 형식이 결정된 뒤에는 필요에 따라 Serialize 또는 Deserialize 메서드를 호출할 수 있습니다.After the transport format is determined, you can call the Serialize or Deserialize methods, as required.

개체를 역직렬화하려면To deserialize an object

  1. 역직렬화할 개체의 형식을 사용하여 XmlSerializer를 생성합니다.Construct a XmlSerializer using the type of the object to deserialize.

  2. 개체의 복제본을 생성할 Deserialize 메서드를 호출합니다.Call the Deserialize method to produce a replica of the object. Deserialize 할 때 다음 예제와 같이 반환 된 개체를 원래 형식으로 캐스팅 해야 합니다 .이 예제에서는 파일에서 개체를 deserialize 합니다 (스트림에서 deserialize 할 수도 있지만).When deserializing, you must cast the returned object to the type of the original, as shown in the following example, which deserializes the object from a file (although it could also be deserialized from a stream).

    ' Construct an instance of the XmlSerializer with the type
    ' of object that is being deserialized.
    Dim mySerializer As New XmlSerializer(GetType(MySerializableClass))
    ' To read the file, create a FileStream.
    Dim myFileStream As New FileStream("myFileName.xml", FileMode.Open)
    ' Call the Deserialize method and cast to the object type.
    Dim myObject = CType( _
    mySerializer.Deserialize(myFileStream), MySerializableClass)
    
    // Construct an instance of the XmlSerializer with the type
    // of object that is being deserialized.
    var mySerializer = new XmlSerializer(typeof(MySerializableClass));
    // To read the file, create a FileStream.
    var myFileStream = new FileStream("myFileName.xml", FileMode.Open);
    // Call the Deserialize method and cast to the object type.
    var myObject = (MySerializableClass) mySerializer.Deserialize(myFileStream)
    

참조See also