Vorgehensweise: Lesen von Objektdaten aus einer XML-Datei (C#)How to: Read Object Data from an XML File (C#)

In diesem Beispiel werden Objektdaten gelesen, die zuvor mithilfe der XmlSerializer-Klasse in eine XML-Datei geschrieben wurden.This example reads object data that was previously written to an XML file using the XmlSerializer class.

BeispielExample

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 CodesCompiling the Code

Ersetzen Sie den Dateinamen „c:\temp\SerializationOverview.xml“ durch den Namen der Datei, die die serialisierten Daten enthält.Replace the file name "c:\temp\SerializationOverview.xml" with the name of the file containing the serialized data. Weitere Informationen zum Serialisieren von Daten finden Sie unter Vorgehensweise: Schreiben von Objektdaten in eine XML-Datei (C#).For more information about serializing data, see How to: Write Object Data to an XML File (C#).

Die Klasse muss über einen öffentlichen Konstruktor ohne Parameter verfügen.The class must have a public constructor without parameters.

Nur die öffentlichen Eigenschaften und Felder werden deserialisiert.Only public properties and fields are deserialized.

Stabile ProgrammierungRobust Programming

Die folgenden Bedingungen können einen Ausnahmefehler verursachen:The following conditions may cause an exception:

  • Die zu serialisierende Klasse verfügt nicht über einen öffentlichen, parameterlosen Konstruktor.The class being serialized does not have a public, parameterless constructor.

  • Die Daten in der Datei stellen keine Daten aus der zu deserialisierenden Klasse dar.The data in the file does not represent data from the class to be deserialized.

  • Die Datei ist nicht vorhanden (IOException).The file does not exist (IOException).

.NET Framework-Sicherheit.NET Framework Security

Überprüfen Sie immer die Eingaben, und deserialisieren Sie keine Daten aus einer nicht vertrauenswürdigen Quelle.Always verify inputs, and never deserialize data from an untrusted source. Das neu erstellte Objekt wird auf einem lokalen Computer mit den Berechtigungen des Codes ausgeführt, der es deserialisiert hat.The re-created object runs on a local computer with the permissions of the code that deserialized it. Überprüfen Sie alle Eingaben, bevor Sie die Daten in der Anwendung verwenden.Verify all inputs before using the data in your application.

Siehe auchSee Also

StreamWriter
How to: Write Object Data to an XML File (C#) (Vorgehensweise: Schreiben von Objektdaten in eine XML-Datei (C#))How to: Write Object Data to an XML File (C#)
Serialisierung (C#)Serialization (C# )
C#-ProgrammierhandbuchC# Programming Guide