如何将对象数据写入 XML 文件 (C#)

本示例使用 XmlSerializer 类从某个类将对象写入 XML 文件。

示例

public class XMLWrite  
{  
  
   static void Main(string[] args)  
    {  
        WriteXML();  
    }  
  
    public class Book  
    {  
        public String title;
    }  
  
    public static void WriteXML()  
    {  
        Book overview = new Book();  
        overview.title = "Serialization Overview";  
        System.Xml.Serialization.XmlSerializer writer =
            new System.Xml.Serialization.XmlSerializer(typeof(Book));  
  
        var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "//SerializationOverview.xml";  
        System.IO.FileStream file = System.IO.File.Create(path);  
  
        writer.Serialize(file, overview);  
        file.Close();  
    }  
}  

编译代码

所序列化的类必须有一个公共的无参数构造函数。

可靠编程

以下情况可能会导致异常:

.NET 安全性

此示例在文件尚未存在时创建新文件。 如果某个应用程序需要创建文件,则该应用程序需要针对文件夹的 Create 访问权限。 如果文件已存在,则该应用程序只需要 Write 访问权限(这是较弱的特权)。 如有可能,在部署过程中创建文件,并且仅授予针对单个文件的 Read 访问权限(而不是针对 Create 文件夹的访问权限)会更加安全。

请参阅