Maison > développement back-end > C++ > Comment puis-je désérialiser un objet à partir d'une chaîne XML sérialisée en C# ?

Comment puis-je désérialiser un objet à partir d'une chaîne XML sérialisée en C# ?

DDD
Libérer: 2024-12-26 14:39:17
original
961 Les gens l'ont consulté

How Can I Deserialize an Object from a Serialized XML String in C#?

Désérialiser un objet à partir d'une chaîne

La méthode fournie, SerializeObject, permet la sérialisation d'objets en fichiers. Pour récupérer la représentation XML de l'objet sous forme de chaîne, une légère modification est nécessaire.

La solution consiste à remplacer le StreamWriter par un StringWriter :

public static string SerializeObject<T>(this T toSerialize)
{
    XmlSerializer xmlSerializer = new XmlSerializer(toSerialize.GetType());

    using(StringWriter textWriter = new StringWriter())
    {
        xmlSerializer.Serialize(textWriter, toSerialize);
        return textWriter.ToString();
    }
}
Copier après la connexion

La méthode GetType() est utilisée dans le constructeur XmlSerializer pour garantir que toutes les sous-classes possibles de T sont prises en compte lors de la sérialisation.

Contrairement à l'utilisation de typeof(T), GetType() couvre toutes les sous-classes, permettant au code de gérer les objets avec héritage. Pour plus d'informations et un exemple concret où typeof(T) provoque des problèmes, reportez-vous au lien suivant : http://ideone.com/1Z5J1.

De plus, il convient de noter que différentes versions du runtime .NET peut générer différents messages d'exception lorsque vous rencontrez des erreurs avec typeof(T).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal