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 KlasseXmlSerializer
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>
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>
Anwendung:
<code class="language-csharp">// 序列化 MyClass 对象 string xmlMessage = GenericSerializer<MyClass>.Serialize(myObj);</code>
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!