Udostępnij za pośrednictwem


Porady: wpisywanie danych o obiektach do pliku XML (C# i Visual Basic)

Ten przykład przepisuje obiekt z klasy do pliku XML wykorzystując klasę XmlSerializer.

Przykład

Ten przykładowy kod definiuje klasę nazwaną Book, tworzy wystąpienie klasy i używa serializacji XML, aby zapisać wystąpienie w pliku XML.

Kod podobny do tego jest dostępny jako fragment kodu IntelliSense.W menedżerze fragmentu kodu znajduje się w XML.Aby uzyskać więcej informacji, zobacz Wstawki kodu.

Public Module XMLWrite

    Sub Main()
        WriteXML()
    End Sub 

    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 
End Module
public class XMLWrite
{

   static void Main(string[] args)
    {
        WriteXML();
    }


    public class Book
    {
        public String title; 
    }


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

        var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "//SerializationOverview.xml";
        System.IO.FileStream file = System.IO.File.Create(path);

        writer.Serialize(file, overview);
        file.Close();
    }
}

Kompilowanie kodu

Klasa musi mieć publicznego konstruktora bez parametrów.

Stabilne programowanie

Następujące warunki mogą spowodować wyjątek:

  • Klasa jest serializowana w trybie opóźnienia nie ma publicznego konstruktora bez parametrów.

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

  • Wprowadzona ścieżka jest za długa (PathTooLongException).

  • Dysk jest pełny (IOException).

Zabezpieczenia

Ten przykład tworzy nowy plik, jeżeli plik jeszcze nie istnieje.Jeśli aplikacja musi utworzyć plik, ta aplikacja musi mieć dostęp Create do folderu.Jeśli plik już istnieje, aplikacja potrzebuje tylko dostępu Write, mniejsze uprawnienia.Jeżeli jest to możliwe, bezpieczniej jest tworzyć plik podczas wdrożenia i udzielić dostępu Read do pojedynczego pliku, a nie dostępu Create do folderu.

Zobacz też

Zadania

Porady: odczytywanie danych o obiektach z pliku XML (C# i Visual Basic)

Informacje

StreamWriter

Inne zasoby

Serializacja (C# i Visual Basic)

Serializacja (C# i Visual Basic)