Udostępnij za pośrednictwem


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

W tym przykładzie zapisuje obiekt z klasy do pliku XML, za pomocą XmlSerializer klasy.

Przykład

Poniższy przykład kodu definiuje klasę o nazwie Book, tworzy instancję klasy i używa serializacji XML do zapisu do instancji w pliku XML.

Kod podobny do tego jest dostępna jako urywek kodu IntelliSense.W Menedżerze urywek kodu, jest umieszczony w XML.Aby uzyskać więcej informacji, zobacz Wstawki kodu programu.

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
public class Book
{
    public String title; 

 }

public void WriteXML()
{
    Book overview = new Book();
    overview.title = "Serialization Overview";
    System.Xml.Serialization.XmlSerializer writer = 
        new System.Xml.Serialization.XmlSerializer(typeof(Book));

    System.IO.StreamWriter file = new System.IO.StreamWriter(
        @"c:\temp\SerializationOverview.xml");
    writer.Serialize(file, overview);
    file.Close();
}

Kompilowanie kodu

Klasa musi mieć publicznego konstruktora bez parametrów.

Stabilne programowanie

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

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

  • Plik istnieje i jest przeznaczony tylko do odczytu (IOException).

  • Ścieżka jest zbyt długa (PathTooLongException).

  • Dysk jest pełny (IOException).

Zabezpieczenia

W tym przykładzie tworzy nowy plik, jeżeli plik jeszcze nie istnieje.Jeśli aplikacja musi utworzyć plik, że aplikacja potrzebuje Create dostępu do tego folderu.Jeżeli plik już istnieje, aplikacja potrzebuje jedynie Write dostępu mniejszym uprawnień.W przypadku gdy jest to możliwe, jest bardziej bezpieczne do tworzenia pliku podczas wdrażania i przyznać jedynie Read dostępu do jednego pliku, zamiast Create dostępu do folderu.

Zobacz też

Zadania

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

Informacje

StreamWriter

Inne zasoby

Serializacja (C# i Visual Basic)

Serializacja (C# i Visual Basic)