Freigeben über


Gewusst wie: Schreiben von Objektdaten in eine XML-Datei (C# und Visual Basic)

Dieses Beispiel verwendet die XmlSerializer-Klasse, um das Objekt aus einer Klasse in eine XML-Datei zu schreiben.

Beispiel

In diesem Codebeispiel wird die Klasse Book definiert, eine Instanz der Klasse erstellt und XML-Serialisierung zum Schreiben der Instanz in eine XML-Datei verwendet.

Ähnlicher Code ist als IntelliSense-Codeausschnitt verfügbar. Sie finden das Element in der Codeausschnittauswahl in XML. Weitere Informationen finden Sie unter Gewusst wie: Einfügen von IntelliSense-Codeausschnitten.

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

Kompilieren des Codes

Die Klasse muss über einen öffentlichen Konstruktor ohne Parameter verfügen.

Robuste Programmierung

Die folgenden Bedingungen können einen Ausnahmefehler verursachen:

  • Die zu serialisierende Klasse verfügt nicht über einen öffentlichen, parameterlosen Konstruktor.

  • Die Datei ist bereits vorhanden und schreibgeschützt (IOException).

  • Der Pfad ist zu lang (PathTooLongException).

  • Der Datenträger ist voll (IOException).

Sicherheit

Mit diesem Beispiel wird eine neue Datei erstellt, wenn diese noch nicht vorhanden ist. Wenn eine Anwendung eine Datei erstellen muss, benötigt sie eine Create-Berechtigung für den Ordner. Wenn die Datei bereits vorhanden ist, benötigt die Anwendung lediglich die Berechtigung für den Write-Zugriff, also eine geringere Berechtigung. 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).

Siehe auch

Aufgaben

Gewusst wie: Lesen von Objektdaten aus einer XML-Datei (C# und Visual Basic)

Referenz

StreamWriter

Weitere Ressourcen

Serialisierung (C# und Visual Basic)

Serialisierung (C# und Visual Basic)