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 im Codeausschnitt-Manager in XML. Weitere Informationen finden Sie unter Codeausschnitte.
Public Module XMLWrite
Sub Main()
WriteXML()
End Sub
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
End Module
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 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)