다음을 통해 공유


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

이 예제에서는 XmlSerializer 클래스를 사용하여 클래스의 개체를 XML 파일에 씁니다.

예제

이 코드 예제에서는 이름이 Book인 클래스를 정의하고, 해당 클래스의 인스턴스를 만든 다음, XML serialization을 사용하여 XML 파일에 인스턴스를 씁니다.

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

Public Class Book
    Public Title As String
End Class

Public Sub WriteXML()
    Dim overview As New Book
    overview.Title = "Serialization Overview"
    Dim writer As New System.Xml.Serialization.XmlSerializer(GetType(Book))
    Dim file As New System.IO.StreamWriter(
        "c:\temp\SerializationOverview.xml")
    writer.Serialize(file, overview)
    file.Close()
End Sub
public class Book
{
    public String title; 

 }

public void WriteXML()
{
    Book overview = new Book();
    overview.title = "Serialization Overview";
    System.Xml.Serialization.XmlSerializer writer = 
        new System.Xml.Serialization.XmlSerializer(typeof(Book));

    System.IO.StreamWriter file = new System.IO.StreamWriter(
        @"c:\temp\SerializationOverview.xml");
    writer.Serialize(file, overview);
    file.Close();
}

코드 컴파일

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

강력한 프로그래밍

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

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

  • 파일이 있는데 읽기 전용인 경우(IOException)

  • 경로가 너무 긴 경우(PathTooLongException)

  • 디스크가 꽉 찬 경우(IOException)

보안

이 예제에서는 파일이 없는 경우 새 파일을 만듭니다. 응용 프로그램에서 파일을 만들어야 하는 경우, 해당 응용 프로그램에는 폴더에 대한 Create 액세스 권한이 필요합니다. 해당 파일이 이미 있으면 응용 프로그램에는 더 낮은 수준의 권한인 Write 액세스 권한만 있으면 됩니다. 가능하면 배포하는 동안 파일을 만들고 폴더에 대한 Create 권한 대신 파일 하나에 대한 Read 권한만 부여하는 것이 안전합니다.

참고 항목

작업

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

참조

StreamWriter

기타 리소스

Serialization(C# 및 Visual Basic)

Serialization(C# 및 Visual Basic)