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
Mary-Kate Olsenoriginal
2025-01-27 15:31:09489parcourir

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>

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>

Comment utiliser :

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

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!

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