Comment sérialiser un objet XML à l'aide de Visual C#

Traductions disponibles Traductions disponibles
Numéro d'article: 815813 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cette étape par étape explique comment sérialiser un objet au format XML à l'aide de Visual C#. Cette méthode est utile pour conserver l'état d'un objet. Cette méthode est également utile pour le clonage un objet par de-serializing le code XML à un nouvel objet.



Configuration requise

La liste suivante met en évidence le matériel recommandé, logiciel infrastructure réseau et service packs sont requis :
  • Microsoft Visual Studio
Cet article suppose que vous êtes familiarisé avec les sujets suivants :
  • Maîtrise générale de XML
  • Connaissance générale avec Visual C#

La sérialisation XML

Sérialisation est le processus de prise de l'état d'un objet et de conservation d'une manière. Le Microsoft .NET Framework comprend des objets puissants qui peuvent sérialiser un objet au format XML. L'espace de noms System.XML.Serialization fournit cette fonctionnalité.

Procédez comme suit pour créer une application console qui crée un objet, puis sérialise son état au format XML :
  1. Dans Visual C#, créez une application console projet.
  2. Dans le menu projet , cliquez sur Ajouter classe pour ajouter une nouvelle classe au projet.
  3. Dans la boîte de dialogue Ajouter un nouvel élément , modifier le nom de la classe à clsPerson .
  4. Cliquez sur Ajouter . Une nouvelle classe est créée.

    note Dans Visual Studio .NET 2003, cliquez sur Ouvrir .
  5. Ajoutez le code suivant après la classe publique clsPerson instruction
     public   string FirstName;
     public   string MI;
     public   string LastName;
    
  6. Basculez vers la fenêtre de code pour Program.cs dans Visual Studio ou pour Class1.cs dans Visual Studio .NET 2003.
  7. Dans la méthode main void, déclarer et créer une instance de la classe clsPerson :
    clsPerson p = new clsPerson();
  8. Définir les propriétés de l'objet clsPerson :
    p.FirstName = "Jeff";
    p.MI = "A";
    p.LastName = "Price";
  9. L'espace de noms Xml.Serialization contient une classe XmlSerializer qui sérialise un objet XML. Lorsque vous créez une instance de XmlSerializer , vous passez le type de la classe que vous souhaitez sérialiser à son constructeur :
    System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
  10. La méthode Serialize est utilisée pour sérialiser un objet au format XML. Sérialiser est surchargé et envoyer des résultats à un objet TextWriter , flux ou XMLWriter . Dans cet exemple, vous envoyer le résultat à la console :
    x.Serialize(Console.Out,p);
    Console.WriteLine();
    Console.ReadLine();

Terminer la liste de code

using System;

public class clsPerson
{
  public  string FirstName;
  public  string MI;
  public  string LastName;
}

class class1
{ 
   static void Main(string[] args)
   {
      clsPerson p=new clsPerson();
      p.FirstName = "Jeff";
      p.MI = "A";
      p.LastName = "Price";
      System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
      x.Serialize(Console.Out, p);
      Console.WriteLine();
      Console.ReadLine();
   }
}    

Vérification

Pour vérifier que votre projet fonctionne, appuyez sur CTRL + F5 pour exécuter le projet. Un objet clsPerson est créé et remplie avec les valeurs que vous avez entré. Cet état est sérialisé vers XML. La fenêtre de console affiche les opérations suivantes :
<?xml version="1.0" encoding="IBM437"?>
 <clsPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3
 .org/2001/XMLSchema">
<FirstName>Jeff</FirstName>
 <MI>A</MI>
<LastName>Price</LastName> </clsPerson>

Résoudre les problèmes

L'objet Xml.Serialization.XmlSerializer exécute uniquement court sérialisation. Si vous voulez également que sérialiser les variables privées d'un objet ou enfant objets, vous devez utiliser sérialisation en profondeur.

Références

Pour plus d'informations, reportez-vous au site de Web) MSDN (Microsoft Developer Network suivant :
Présentation de la sérialisation XML
http://msdn.microsoft.com/en-us/library/182eeyhh(VS.80).aspx

Propriétés

Numéro d'article: 815813 - Dernière mise à jour: lundi 21 juillet 2008 - Version: 4.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# .NET 2003 Initiation
  • Microsoft Visual C# .NET 2002 Initiation
  • Microsoft Visual C# 2005 Express Edition
Mots-clés : 
kbmt kbsweptvs2008 kbnamespace kbxml kbhowtomaster KB815813 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 815813
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com