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)