Maison > développement back-end > C++ > Comment puis-je sérialiser un objet C# en XML à l'aide de XmlSerializer ?

Comment puis-je sérialiser un objet C# en XML à l'aide de XmlSerializer ?

Mary-Kate Olsen
Libérer: 2025-01-27 15:31:09
original
429 Les gens l'ont consulté

How Can I Serialize a C# Object to XML Using XmlSerializer?

Sérialisation d'objets C# vers XML : un guide complet utilisant XmlSerializer

Introduction au contexte

Vous disposez d'un objet C# complexe qui doit être sérialisé au format XML pour le stockage ou le transfert de données. Bien que l'objet lui-même soit prêt pour la sérialisation, la simple méthode ToString() ne peut pas générer directement une représentation XML.

Problèmes et solutions

La classe

XmlSerializer est un outil idéal pour résoudre ce problème. Le code suivant montre comment l'utiliser :

<code class="language-csharp">// 创建对象并设置属性
MyObject o = new MyObject();
// ...

// 使用 XmlSerializer 将对象序列化为 XML
XmlSerializer xsSubmit = new XmlSerializer(typeof(MyObject));
string xml;

using (StringWriter sww = new StringWriter())
{
    using (XmlWriter writer = XmlWriter.Create(sww))
    {
        xsSubmit.Serialize(writer, o);
        xml = sww.ToString(); // XML 数据存储在 xml 变量中
    }
}</code>
Copier après la connexion

Méthode de sérialisation commune

Afin de gérer plus facilement différents types d'objets, une méthode de sérialisation courante peut être utilisée :

<code class="language-csharp">public class GenericSerializer<T> where T : class
{
    public static string Serialize(T obj)
    {
        XmlSerializer xsSubmit = new XmlSerializer(typeof(T));
        using (var sww = new StringWriter())
        {
            using (XmlTextWriter writer = new XmlTextWriter(sww) { Formatting = Formatting.Indented })
            {
                xsSubmit.Serialize(writer, obj);
                return sww.ToString();
            }
        }
    }
}</code>
Copier après la connexion

Comment utiliser :

<code class="language-csharp">// 序列化 MyClass 对象
string xmlMessage = GenericSerializer<MyClass>.Serialize(myObj);</code>
Copier après la connexion

Avec la méthode ci-dessus, vous pouvez facilement sérialiser divers objets C# en XML bien formé pour divers scénarios d'application.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal