Vorgehensweise: Lesen von Objektdaten aus einer XML-Datei (C#)

In diesem Beispiel werden Objektdaten gelesen, die zuvor mit der XmlSerializer-Klasse in eine XML-Datei geschrieben wurden.

Beispiel

public class Book  
{  
    public String title;  
}         

public void ReadXML()  
{  
    // First write something so that there is something to read ...  
    var b = new Book { title = "Serialization Overview" };  
    var writer = new System.Xml.Serialization.XmlSerializer(typeof(Book));  
    var wfile = new System.IO.StreamWriter(@"c:\temp\SerializationOverview.xml");  
    writer.Serialize(wfile, b);  
    wfile.Close();  

    // Now we can read the serialized book ...  
    System.Xml.Serialization.XmlSerializer reader =   
        new System.Xml.Serialization.XmlSerializer(typeof(Book));  
    System.IO.StreamReader file = new System.IO.StreamReader(  
        @"c:\temp\SerializationOverview.xml");  
    Book overview =  (Book)reader.Deserialize(file);  
    file.Close();  

    Console.WriteLine(overview.title);  

}  

Kompilieren des Codes

Ersetzen Sie den Dateinamen „c:\temp\SerializationOverview.xml“ durch den Namen der Datei, die die serialisierten Daten enthält. Weitere Informationen zum Serialisieren von Daten finden Sie unter Vorgehensweise: Schreiben von Objektdaten in eine XML-Datei (C#).

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

Nur die öffentlichen Eigenschaften und Felder werden deserialisiert.

Stabile Programmierung

Die folgenden Bedingungen können einen Ausnahmefehler verursachen:

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

  • Die Daten in der Datei stellen keine Daten aus der zu deserialisierenden Klasse dar.

  • Die Datei ist nicht vorhanden (IOException).

.NET Framework-Sicherheit

Überprüfen Sie immer die Eingaben, und deserialisieren Sie keine Daten aus einer nicht vertrauenswürdigen Quelle. Das neu erstellte Objekt wird auf einem lokalen Computer mit den Berechtigungen des Codes ausgeführt, der es deserialisiert hat. Überprüfen Sie alle Eingaben, bevor Sie die Daten in der Anwendung verwenden.

Siehe auch

StreamWriter
Vorgehensweise: Schreiben von Objektdaten in eine XML-Datei (C#)
Serialisierung (C#)
C#-Programmierhandbuch