Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

XmlSerializer.Serialize, méthode (XmlWriter, Object)

Mise à jour : novembre 2007

Sérialise le Object spécifié et écrit le document XML dans un fichier à l'aide du XmlWriter spécifié.

Espace de noms :  System.Xml.Serialization
Assembly :  System.Xml (dans System.Xml.dll)

public void Serialize(
	XmlWriter xmlWriter,
	Object o
)
public void Serialize(
	XmlWriter xmlWriter,
	Object o
)
public function Serialize(
	xmlWriter : XmlWriter, 
	o : Object
)

Paramètres

xmlWriter
Type : System.Xml.XmlWriter

XmlWriter qui permet d'écrire le document XML.

o
Type : System.Object

Object à sérialiser.

ExceptionCondition
InvalidOperationException

Une erreur s'est produite lors de la sérialisation. L'exception d'origine est disponible via l'utilisation de la propriété InnerException.

La méthode Serialize convertit les champs publics et les propriétés de lecture/écriture d'un objet en langage XML. Elle ne convertit pas les méthodes, les indexeurs, les champs privés ni les propriétés en lecture seule. Pour sérialiser la totalité des champs et des propriétés d'un objet, publics et privés, utilisez BinaryFormatter.

Dans le paramètre xmlWriter, spécifiez un objet dérivé de la classe XmlWriter abstraite. XmlTextWriter est dérivé de XmlWriter.

Remarque :

XmlSerializer ne peut pas sérialiser les éléments suivants : tableaux de ArrayList et tableaux de List<T>.

L'exemple suivant sérialise un objet à l'aide de XmlWriter.

using System;
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Serialization;

// This is the class that will be serialized.
public class OrderedItem
{
   public string ItemName;
   public string Description;
   public decimal UnitPrice;
   public int Quantity;
   public decimal LineTotal;
   // A custom method used to calculate price per item.
   public void Calculate()
   {
      LineTotal = UnitPrice * Quantity;
   }
}

public class Test{
   public static void Main()
   {
      Test t = new Test();
      // Write a purchase order.
      t.SerializeObject("simple.xml");
   }

   private void SerializeObject(string filename)
   {
      Console.WriteLine("Writing With XmlTextWriter");

      XmlSerializer serializer = 
      new XmlSerializer(typeof(OrderedItem));
      OrderedItem i = new OrderedItem();
      i.ItemName = "Widget";
      i.Description = "Regular Widget";
      i.Quantity = 10;
      i.UnitPrice = (decimal) 2.30;
      i.Calculate();
      // Create an XmlTextWriter using a FileStream.
      Stream fs = new FileStream(filename, FileMode.Create);
      XmlWriter writer = 
      new XmlTextWriter(fs, Encoding.Unicode);
      // Serialize using the XmlTextWriter.
      serializer.Serialize(writer, i);
      writer.Close();
   }
}



import System.*;
import System.IO.*;
import System.Text.*;
import System.Xml.*;
import System.Xml.Serialization.*;

// This is the class that will be serialized.
public class OrderedItem
{
    public String itemName;
    public String description;
    public System.Decimal unitPrice;
    public int quantity;
    public System.Decimal lineTotal;

    // A custom method used to calculate price per item.
    public void Calculate()
    {
        lineTotal = Decimal.Multiply(unitPrice, Convert.ToDecimal(quantity));
    } //Calculate
} //OrderedItem

public class Test
{
    public static void main(String[] args)
    {
        Test t = new Test();
        // Write a purchase order.
        t.SerializeObject("simple.xml");
    } //main

    private void SerializeObject(String fileName)
    {
        Console.WriteLine("Writing With XmlTextWriter");
        XmlSerializer serializer =
            new XmlSerializer(OrderedItem.class.ToType());
        OrderedItem i = new OrderedItem();
        i.itemName = "Widget";
        i.description = "Regular Widget";
        i.quantity = 10;
        i.unitPrice = Convert.ToDecimal(2.3);
        i.Calculate();

        // Create an XmlTextWriter using a FileStream.
        Stream fs = new FileStream(fileName, FileMode.Create);
        XmlWriter writer = new XmlTextWriter(fs, Encoding.get_Unicode());

        // Serialize using the XmlTextWriter.
        serializer.Serialize(writer, i);
        writer.Close();
    } //SerializeObject
} //Test


<?xml version="1.0"?>
 <OrderedItem xmlns:inventory="http://www.cpandl.com" xmlns:money="http://www.cohowinery.com">
   <inventory:ItemName>Widget</inventory:ItemName>
   <inventory:Description>Regular Widget</inventory:Description>
   <money:UnitPrice>2.3</money:UnitPrice>
   <inventory:Quantity>10</inventory:Quantity>
   <money:LineTotal>23</money:LineTotal>
 </OrderedItem>



Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Pris en charge dans : 3.5, 2.0

XNA Framework

Pris en charge dans : 2.0, 1.0

Ajouts de la communauté

Afficher:
© 2014 Microsoft