Vorgehensweise: Schreiben von Objektdaten in eine XML-Datei (C#)How to: Write Object Data to an XML File (C#)

Dieses Beispiel verwendet die XmlSerializer-Klasse, um das Objekt aus einer Klasse in eine XML-Datei zu schreiben.This example writes the object from a class to an XML file using the XmlSerializer class.

BeispielExample

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();  
    }  
}  

Kompilieren des CodesCompiling the Code

Die Klasse muss über einen öffentlichen Konstruktor ohne Parameter verfügen.The class must have a public constructor without parameters.

Stabile ProgrammierungRobust Programming

Die folgenden Bedingungen können einen Ausnahmefehler verursachen:The following conditions may cause an exception:

  • Die zu serialisierende Klasse verfügt nicht über einen öffentlichen, parameterlosen Konstruktor.The class being serialized does not have a public, parameterless constructor.

  • Die Datei ist bereits vorhanden und schreibgeschützt (IOException).The file exists and is read-only (IOException).

  • Der Pfad ist zu lang (PathTooLongException).The path is too long (PathTooLongException).

  • Der Datenträger ist voll (IOException).The disk is full (IOException).

.NET Framework-Sicherheit.NET Framework Security

Mit diesem Beispiel wird eine neue Datei erstellt, wenn diese noch nicht vorhanden ist.This example creates a new file, if the file does not already exist. Wenn eine Anwendung eine Datei erstellen muss, benötigt sie eine Create-Berechtigung für den Ordner.If an application needs to create a file, that application needs Create access for the folder. Wenn die Datei bereits vorhanden ist, benötigt die Anwendung lediglich die Berechtigung für den Write-Zugriff, also eine geringere Berechtigung.If the file already exists, the application needs only Write access, a lesser privilege. Aus Sicherheitsgründen sollte die Datei nach Möglichkeit erst im Verlauf der Bereitstellung erstellt werden. Außerdem sollte nur die Read-Berechtigung für eine einzelne Datei erteilt werden (anstatt Create-Berechtigungen für den gesamten Ordner zu gewähren).Where possible, it is more secure to create the file during deployment, and only grant Read access to a single file, rather than Create access for a folder.

Siehe auchSee Also

StreamWriter
How to: Read Object Data from an XML File (C#) (Vorgehensweise: Lesen von Objektdaten aus einer XML-Datei (C#))How to: Read Object Data from an XML File (C#)
Serialisierung (C#)Serialization (C# )