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.Klicken Sie im Codeausschnitt-Manager ist es in XML.Weitere Informationen finden Sie unter Codeausschnitte.

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

Unter den folgenden Bedingungen kann eine Ausnahme ausgelöst werden:

  • 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)