Heim > Backend-Entwicklung > C++ > Wie kann ich ein C# -Objekt mit XMLSerializer mit XML serialisieren?

Wie kann ich ein C# -Objekt mit XMLSerializer mit XML serialisieren?

Mary-Kate Olsen
Freigeben: 2025-01-27 15:31:09
Original
465 Leute haben es durchsucht

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

C#-Objekte in XML serialisieren: Eine vollständige Anleitung mit XmlSerializer

Hintergrundeinführung

Sie haben ein komplexes C#-Objekt, das zur Datenspeicherung oder -übertragung in das XML-Format serialisiert werden muss. Während das Objekt selbst für die Serialisierung bereit ist, kann die einfache ToString()-Methode nicht direkt eine XML-Darstellung generieren.

Probleme und Lösungen

Die Klasse

XmlSerializer ist ein ideales Werkzeug, um dieses Problem zu lösen. Der folgende Code demonstriert die Verwendung:

<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>
Nach dem Login kopieren

Gemeinsame Serialisierungsmethode

Um verschiedene Arten von Objekten bequemer handhaben zu können, kann eine gängige Serialisierungsmethode verwendet werden:

<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>
Nach dem Login kopieren

Anwendung:

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

Mit der oben genannten Methode können Sie verschiedene C#-Objekte für verschiedene Anwendungsszenarien problemlos in wohlgeformtes XML serialisieren.

Das obige ist der detaillierte Inhalt vonWie kann ich ein C# -Objekt mit XMLSerializer mit XML serialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage