다음을 통해 공유


방법: XML 파일에서 개체 데이터 읽기(C# 및 Visual Basic)

이 예제에서는 XmlSerializer 클래스를 사용하여 XML 파일에 쓰여진 기존 개체 데이터를 읽습니다.

예제

이 코드 예제는 IntelliSense 코드 조각으로도 사용할 수 있습니다. 코드 조각 선택의 XML에 있습니다. 자세한 내용은 방법: IntelliSense 코드 조각 삽입을 참조하십시오.

Public Class Book
    Public Title As String
End Class

Public Sub ReadXML()
    Dim reader As New System.Xml.Serialization.XmlSerializer(GetType(Book))
    Dim file As New System.IO.StreamReader(
        "c:\temp\SerializationOverview.xml")
    Dim overview As Book
    overview = CType(reader.Deserialize(file), Book)
    Console.WriteLine(overview.Title)
End Sub
    public class Book
    {
        public String title;
    }       

public void ReadXML()
{
    System.Xml.Serialization.XmlSerializer reader = 
        new System.Xml.Serialization.XmlSerializer(typeof(Book));
    System.IO.StreamReader file = new System.IO.StreamReader(
        @"c:\temp\SerializationOverview.xml");
    Book overview = new Book();
    overview = (Book)reader.Deserialize(file);

    Console.WriteLine(overview.title);

}

코드 컴파일

파일 이름 "c:\IntroToVB.xml"을 serialize된 데이터가 포함된 파일 이름으로 바꿉니다. 데이터 serialize에 대한 자세한 내용은 방법: XML 파일에 개체 데이터 쓰기(C# 및 Visual Basic)를 참조하십시오.

클래스에는 매개 변수가 없는 공용 생성자가 들어 있어야 합니다.

공용 속성 및 필드만 deserialize됩니다.

강력한 프로그래밍

다음 조건에서 예외가 발생합니다.

  • serialize되는 클래스에 매개 변수 없는 공용 생성자가 들어 있지 않은 경우

  • 파일의 데이터가, deserialize될 클래스의 데이터를 나타내지 않는 경우

  • 파일이 없는 경우(IOException)

보안

항상 입력을 확인하고, 신뢰할 수 없는 소스의 데이터는 deserialize하지 마십시오. 다시 만들어진 개체는 로컬 컴퓨터에서 해당 개체를 deserialize한 코드의 권한으로 실행됩니다. 응용 프로그램에서 데이터를 사용하기 전에 모든 입력을 확인해야 합니다.

참고 항목

작업

방법: XML 파일에 개체 데이터 쓰기(C# 및 Visual Basic)

참조

StreamWriter

개념

C# 프로그래밍 가이드

기타 리소스

Serialization(C# 및 Visual Basic)

Visual Basic 프로그래밍 가이드