Sdílet prostřednictvím


Postupy: Čtení dat objektů ze souboru XML (C# and Visual Basic)

V tomto příkladu načte data objektu, který byl dříve zapsány do souboru XML pomocí XmlSerializer třídy.

Příklad

Tento příklad kódu je také dostupný jako IntelliSense fragment kódu.V dialogu pro výběr fragment kódu je umístěn ve XML.Další informace naleznete v tématu Fragmenty kódu.

Public Class Book
    Public Title As String 
End Class 

Public Sub ReadXML()
    Dim reader As New System.Xml.Serialization.XmlSerializer(GetType(Book))
    Dim file As New System.IO.StreamReader(
        "c:\temp\SerializationOverview.xml")
    Dim overview As Book
    overview = CType(reader.Deserialize(file), Book)
    Console.WriteLine(overview.Title)
End Sub
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);

}

Probíhá kompilace kódu

Název souboru obsahující Serializovaná data nahradíte název souboru "c:\IntroToVB.xml".Další informace o serializaci dat, viz Postupy: Zápis dat objektů do souboru XML (C# a Visual Basic).

Třída musí mít veřejný konstruktor bez parametrů.

Pouze veřejné vlastnosti a pole jsou rekonstruován.

Robustní programování

Následující případy mohou způsobit výjimku:

  • Třída serializovaný nemá veřejný konstruktor bez parametrů.

  • Data v souboru nepředstavuje data z třídy rekonstrukce.

  • Požadovaný soubor neexistuje (IOException).

Zabezpečení

Vždy ověřte vstupy a nikdy rekonstruovat data z nedůvěryhodného zdroje.Znovu vytvoří objekt spuštěn v místním počítači s oprávněními kód, který ji rekonstruovat.Ověřte všechny vstupy před použitím dat ve vaší aplikaci

Viz také

Úkoly

Postupy: Zápis dat objektů do souboru XML (C# a Visual Basic)

Referenční dokumentace

StreamWriter

Koncepty

Průvodce programováním v C#

Další zdroje

Serializace (C# and Visual Basic)

Příručka k programování v jazyce Visual Basic