共用方式為


HOW TO:讀取 XML 檔案的物件資料 (C# 和 Visual Basic)

這個範例使用 XmlSerializer 類別,讀取先前寫入 XML 檔案的物件資料。

範例

這個程式碼範例也可做為 IntelliSense 程式碼片段。在程式碼片段選擇器中,這個程式碼片段位於 [XML] 中。如需詳細資訊,請參閱程式碼片段

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"。如需序列化資料的詳細資訊,請參閱 HOW TO:將物件資料寫入 XML 檔案 (C# 和 Visual Basic)

類別必須具有不含參數的公用建構函式。

只還原序列化公用屬性和欄位。

穩固程式設計

下列情形可能會造成例外狀況 (Exception):

  • 序列化的類別不具有公用、無參數的建構函式。

  • 檔案中的資料不代表來自被還原序列化的類別的資料。

  • 檔案不存在 (IOException)。

安全性

一定要驗證輸入值,並且不可還原序列化來自未受信任來源的資料。重新建立的物件會以還原序列化該物件的程式碼的使用權限,在本機電腦上執行。在應用程式中使用這些資料之前,請先驗證所有輸入值。

請參閱

工作

HOW TO:將物件資料寫入 XML 檔案 (C# 和 Visual Basic)

參考

StreamWriter

概念

C# 程式設計手冊

其他資源

序列化 (C# 和 Visual Basic)

Visual Basic 程式設計手冊