Comment : écrire des données d'objet dans un fichier XML (C# et Visual Basic)
Cet exemple écrit l'objet d'une classe dans un fichier XML à l'aide de la classe XmlSerializer.
Exemple
Cet exemple de code définit une classe nommée Book, crée une instance de la classe et utilise la sérialisation XML pour écrire l'instance dans un fichier XML.
Du code semblable à celui-ci est disponible sous la forme d'un extrait de code IntelliSense. Dans le gestionnaire des extraits de code, il se trouve dans XML. Pour plus d'informations, consultez Extraits de code.
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();
}
}
Compilation du code
La classe doit disposer d'un constructeur public sans paramètres.
Programmation fiable
Les conditions ci-dessous peuvent générer une exception.
La classe en cours de désérialisation ne dispose pas d'un constructeur public sans paramètres.
Le fichier existe déjà et est en lecture seule (IOException).
Le chemin d'accès est trop long (PathTooLongException
Le disque est saturé (IOException).
Sécurité
Cet exemple crée un fichier s'il n'existe pas. Si une application doit créer un fichier, elle doit disposer de l'accès Create pour le dossier. Si le fichier existe déjà, l'application n'a besoin que d'un accès Write, un privilège moins important. Dans la mesure du possible, et pour des raisons de sécurité, il est préférable de créer le fichier au moment du déploiement et d'accorder uniquement un accès Read à un seul fichier plutôt qu'un accès Create à l'ensemble du dossier.
Voir aussi
Tâches
Comment : lire des données d'objet à partir d'un fichier XML (C# et Visual Basic)