Udostępnij za pośrednictwem


Jak: Odczyt obiektu danych z pliku XML (C# i Visual Basic)

W tym przykładzie odczytuje dane obiektu, który został poprzednio zapisane do pliku XML, za pomocą XmlSerializer klasy.

Przykład

Poniższy przykład kodu jest też dostępny jako urywek kodu IntelliSense.W Próbniku urywek kodu znajduje się w XML.Aby uzyskać więcej informacji, zobacz Wstawki kodu programu.

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()
{
    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 = new Book();
    overview = (Book)reader.Deserialize(file);

    Console.WriteLine(overview.title);

}

Kompilowanie kodu

Nazwa pliku "c:\IntroToVB.xml" należy zastąpić nazwą pliku zawierającego dane serializowane.Aby uzyskać więcej informacji na temat szeregowania danych, zobacz Jak: zapisu danych obiektu w pliku XML (C# i Visual Basic).

Klasa musi mieć publicznego konstruktora bez parametrów.

Rozszeregować tylko publiczne właściwości i pól.

Stabilne programowanie

Następujące warunki, może spowodować wyjątek:

  • Klasa, poddany serializacji ma publiczny konstruktor bez parametrów.

  • Dane w pliku nie reprezentują dane z klasy do rozszeregowania.

  • Plik nie istnieje (IOException).

Zabezpieczenia

Należy zawsze sprawdzać, nakładów i nigdy nie deserializacji danych z niezaufanego źródła.Obiekt utworzony ponownie uruchamia się na komputerze lokalnym z uprawnieniami kod, który rozszeregować go.Sprawdź, czy wszystkie dane wejściowe przed rozpoczęciem korzystania z danych w aplikacji.

Zobacz też

Zadania

Jak: zapisu danych obiektu w pliku XML (C# i Visual Basic)

Informacje

StreamWriter

Koncepcje

Podręcznik programowania C#

Inne zasoby

Serializacja (C# i Visual Basic)

Podręcznik programowania Visual Basic