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

Comment puis-je sérialiser un objet en chaîne XML en C# ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-03 14:56:39365parcourir

How Can I Serialize an Object to an XML String in C#?

Sérialisation d'un objet vers une chaîne

Problème

Une méthode existante pour sérialiser un objet dans un fichier à l'aide de la sérialisation XML doit être modifiée pour renvoyer le XML sous forme de chaîne plutôt que de l'enregistrer dans un fichier.

Solution

Pour sérialiser un objet sous forme de chaîne au lieu de l'écrire dans un fichier, remplacez simplement le StreamWriter par un StringWriter. Voici la méthode modifiée :

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();
    }
}

Considération

Il est important d'utiliser toSerialize.GetType() au lieu de typeof(T) dans le constructeur XmlSerializer. L'utilisation de toSerialize.GetType() garantit que toutes les sous-classes possibles de T sont gérées correctement, tandis que l'utilisation de typeof(T) peut conduire à des exceptions si un type dérivé est passé en argument.

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:
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