XmlSerializer.Deserialize Méthode

Définition

Désérialisé un document XML.

Surcharges

Deserialize(Stream)

Désérialise le document XML qui figure dans le Stream spécifié.

Deserialize(TextReader)

Désérialise le document XML qui figure dans le TextReader spécifié.

Deserialize(XmlSerializationReader)

Désérialise le document XML qui figure dans le XmlSerializationReader spécifié.

Deserialize(XmlReader)

Désérialise le document XML qui figure dans le XmlReader spécifié.

Deserialize(XmlReader, String)

Désérialise le document XML figurant dans le XmlReader spécifié et le style d'encodage.

Deserialize(XmlReader, XmlDeserializationEvents)

Désérialise un document XML contenu par le XmlReader spécifié et autorise la substitution des événements qui se produisent pendant désérialisation.

Deserialize(XmlReader, String, XmlDeserializationEvents)

Désérialise l'objet à l'aide des données contenues dans le XmlReader spécifié.

Deserialize(Stream)

Désérialise le document XML qui figure dans le Stream spécifié.

public object Deserialize (System.IO.Stream stream);
public object? Deserialize (System.IO.Stream stream);

Paramètres

stream
Stream

Stream qui contient le document XML à désérialiser.

Retours

Object

Object en cours de désérialisation.

Exemples

L’exemple suivant désérialise un objet à l’aide d’un Stream objet.

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

// This is the class that will be deserialized.
public class OrderedItem
{
    [XmlElement(Namespace = "http://www.cpandl.com")]
    public string ItemName;
    [XmlElement(Namespace = "http://www.cpandl.com")]
    public string Description;
    [XmlElement(Namespace="http://www.cohowinery.com")]
    public decimal UnitPrice;
    [XmlElement(Namespace = "http://www.cpandl.com")]
    public int Quantity;
    [XmlElement(Namespace="http://www.cohowinery.com")]
    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();
        // Read a purchase order.
        t.DeserializeObject("simple.xml");
    }

    private void DeserializeObject(string filename)
    {
        Console.WriteLine("Reading with Stream");
        // Create an instance of the XmlSerializer.
        XmlSerializer serializer =
        new XmlSerializer(typeof(OrderedItem));

        // Declare an object variable of the type to be deserialized.
        OrderedItem i;

        using (Stream reader = new FileStream(filename, FileMode.Open))
        {
            // Call the Deserialize method to restore the object's state.
            i = (OrderedItem)serializer.Deserialize(reader);
        }

        // Write out the properties of the object.
        Console.Write(
        i.ItemName + "\t" +
        i.Description + "\t" +
        i.UnitPrice + "\t" +
        i.Quantity + "\t" +
        i.LineTotal);
    }
}
<?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>

Remarques

La désérialisation est le processus de lecture d’un document XML et de construction d’un objet fortement typé dans le schéma XML (XSD) du document.

Avant de désérialiser, un XmlSerializer doit être construit à l’aide du type de l’objet qui est désérialisé.

Utilisez le stream paramètre pour spécifier un objet qui dérive de la Stream classe, conçu pour écrire dans des flux. Les classes qui dérivent de la Stream classe sont les suivantes :

Notes

Impossible XmlSerializer de désérialiser les tableaux suivants : tableaux de ArrayList et tableaux de List<T>.

Voir aussi

S’applique à

.NET 7 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1
UWP 10.0

Deserialize(TextReader)

Désérialise le document XML qui figure dans le TextReader spécifié.

public object Deserialize (System.IO.TextReader textReader);
public object? Deserialize (System.IO.TextReader textReader);

Paramètres

textReader
TextReader

TextReader qui contient le document XML à désérialiser.

Retours

Object

Object en cours de désérialisation.

Exceptions

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

Exemples

L’exemple suivant désérialise un objet à l’aide d’un TextReader objet.

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

// This is the class that will be deserialized.
public class OrderedItem
{
    [XmlElement(Namespace = "http://www.cpandl.com")]
    public string ItemName;
    [XmlElement(Namespace = "http://www.cpandl.com")]
    public string Description;
    [XmlElement(Namespace = "http://www.cohowinery.com")]
    public decimal UnitPrice;
    [XmlElement(Namespace = "http://www.cpandl.com")]
    public int Quantity;
    [XmlElement(Namespace = "http://www.cohowinery.com")]
    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();
        // Read a purchase order.
        t.DeserializeObject("simple.xml");
    }

    private void DeserializeObject(string filename)
    {
        Console.WriteLine("Reading with TextReader");

        // Create an instance of the XmlSerializer specifying type.
        XmlSerializer serializer =
        new XmlSerializer(typeof(OrderedItem));

        // Create a TextReader to read the file.
        FileStream fs = new FileStream(filename, FileMode.OpenOrCreate);
        TextReader reader = new StreamReader(fs);

        // Declare an object variable of the type to be deserialized.
        OrderedItem i;

        // Use the Deserialize method to restore the object's state.
        i = (OrderedItem) serializer.Deserialize(reader);

        // Write out the properties of the object.
        Console.Write(
            i.ItemName + "\t" +
            i.Description + "\t" +
            i.UnitPrice + "\t" +
            i.Quantity + "\t" +
            i.LineTotal);
    }
}

Remarques

La désérialisation est le processus de lecture d’une instance d’un document XML et la construction d’un objet fortement typé dans le schéma XML (XSD) du document.

Avant de désérialiser, un XmlSerializer doit être construit à l’aide du type de l’objet qui est désérialisé.

Classes qui héritent d’inclure TextReader StringReader et StreamReader. Si vous utilisez un StreamReader objet pour désérialiser un objet, vous devez construire l’objet StreamReader avec un élément approprié Encoding. L’encodage spécifié par le document XML est ignoré.

Notes

Pour utiliser l’encodage spécifié par le document XML, utilisez la Deserialize surcharge qui prend une XmlReader place. Le XmlReader code détecte et utilise automatiquement l’encodage spécifié par le document XML.

Notes

Impossible XmlSerializer de désérialiser les tableaux suivants : tableaux de ArrayList et tableaux de List<T>.

Voir aussi

S’applique à

.NET 7 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1
UWP 10.0

Deserialize(XmlSerializationReader)

Désérialise le document XML qui figure dans le XmlSerializationReader spécifié.

protected virtual object Deserialize (System.Xml.Serialization.XmlSerializationReader reader);

Paramètres

reader
XmlSerializationReader

XmlSerializationReader qui contient le document XML à désérialiser.

Retours

Object

Objet désérialisé.

Exceptions

Toutes les tentatives possibles sont effectuées pour accéder à la méthode si celle-ci n'est pas substituée dans une classe descendante.

S’applique à

.NET 7 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1

Deserialize(XmlReader)

Désérialise le document XML qui figure dans le XmlReader spécifié.

public object Deserialize (System.Xml.XmlReader xmlReader);
public object? Deserialize (System.Xml.XmlReader xmlReader);

Paramètres

xmlReader
XmlReader

XmlReader qui contient le document XML à désérialiser.

Retours

Object

Object en cours de désérialisation.

Exceptions

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

Exemples

L’exemple suivant désérialise un objet à l’aide d’un XmlReader.

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

// This is the class that will be deserialized.
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(string[] args)
    {
        Test t = new Test();
        // Read a purchase order.
        t.DeserializeObject("simple.xml");
    }

    private void DeserializeObject(string filename)
    {
        Console.WriteLine("Reading with XmlReader");

        // Create an instance of the XmlSerializer specifying type and namespace.
        XmlSerializer serializer = new
        XmlSerializer(typeof(OrderedItem));

        // A FileStream is needed to read the XML document.
        FileStream fs = new FileStream(filename, FileMode.Open);
        XmlReader reader = XmlReader.Create(fs);

        // Declare an object variable of the type to be deserialized.
        OrderedItem i;

        // Use the Deserialize method to restore the object's state.
        i = (OrderedItem)serializer.Deserialize(reader);
        fs.Close();

        // Write out the properties of the object.
        Console.Write(
        i.ItemName + "\t" +
        i.Description + "\t" +
        i.UnitPrice + "\t" +
        i.Quantity + "\t" +
        i.LineTotal);
    }
}
<?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>

Remarques

La désérialisation est le processus de lecture d’une instance d’un document XML et la construction d’un objet fortement typé dans le schéma XML (XSD) du document.

Avant de désérialiser, un XmlSerializer doit être construit à l’aide du type de l’objet qui est désérialisé.

Le XmlReader code détecte et utilise automatiquement l’encodage spécifié par le document XML.

Notes

Impossible XmlSerializer de désérialiser les tableaux suivants : tableaux de ArrayList et tableaux de List<T>.

Voir aussi

S’applique à

.NET 7 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1
UWP 10.0

Deserialize(XmlReader, String)

Désérialise le document XML figurant dans le XmlReader spécifié et le style d'encodage.

public object? Deserialize (System.Xml.XmlReader xmlReader, string? encodingStyle);
public object Deserialize (System.Xml.XmlReader xmlReader, string encodingStyle);

Paramètres

xmlReader
XmlReader

XmlReader qui contient le document XML à désérialiser.

encodingStyle
String

Style d'encodage du XML sérialisé.

Retours

Object

Objet désérialisé.

Exceptions

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

Remarques

La désérialisation est le processus de lecture d’une instance d’un document XML et la construction d’un objet fortement typé dans le schéma XML (XSD) du document.

Avant de désérialiser, un XmlSerializer doit être construit à l’aide du type de l’objet qui est désérialisé.

Définissez le paramètre sur «http://schemas.xmlsoap.org/soap/encoding/ » pour l’encodage SOAP version 1.1 ; sinon, définissez-le encodingStyle sur «http://www.w3.org/2001/12/soap-encoding » pour l’encodage SOAP version 1.2.

Note Impossible XmlSerializer de désérialiser les tableaux suivants : tableaux de ArrayList et tableaux de List<T>.

Voir aussi

S’applique à

.NET 7 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1

Deserialize(XmlReader, XmlDeserializationEvents)

Désérialise un document XML contenu par le XmlReader spécifié et autorise la substitution des événements qui se produisent pendant désérialisation.

public object? Deserialize (System.Xml.XmlReader xmlReader, System.Xml.Serialization.XmlDeserializationEvents events);
public object Deserialize (System.Xml.XmlReader xmlReader, System.Xml.Serialization.XmlDeserializationEvents events);

Paramètres

xmlReader
XmlReader

XmlReader qui contient le document à désérialiser.

events
XmlDeserializationEvents

Instance de la classe XmlDeserializationEvents.

Retours

Object

Object en cours de désérialisation.

Remarques

Objet désérialisé.

S’applique à

.NET 7 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1

Deserialize(XmlReader, String, XmlDeserializationEvents)

Désérialise l'objet à l'aide des données contenues dans le XmlReader spécifié.

public object? Deserialize (System.Xml.XmlReader xmlReader, string? encodingStyle, System.Xml.Serialization.XmlDeserializationEvents events);
public object Deserialize (System.Xml.XmlReader xmlReader, string encodingStyle, System.Xml.Serialization.XmlDeserializationEvents events);

Paramètres

xmlReader
XmlReader

Instance de la classe XmlReader utilisée pour lire le document.

encodingStyle
String

Encodage utilisé.

events
XmlDeserializationEvents

Instance de la classe XmlDeserializationEvents.

Retours

Object

Objet désérialisé.

Remarques

Cette méthode est requise pour la désérialisation des en-têtes inconnus pour les scénarios de service Web uniquement. Cette méthode vous permet d’éviter la synchronisation d’événements dans les méthodes de service Web.

S’applique à

.NET 7 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1