C# 中使用 XmlSerializer 将对象序列化为 XML
本文介绍如何在 C# 中将对象转换为 XML 表示形式。如果对象已配置为可序列化,则此过程非常简单。本文将演示如何对类执行 XML 序列化,尤其是在继承类的情况下,并讨论泛型类序列化。
使用 XmlSerializer
要将对象序列化为 XML,需要使用 XmlSerializer
类。以下代码片段演示如何序列化名为 o
的 MyObject
类型对象:
<code class="language-csharp">XmlSerializer xsSubmit = new XmlSerializer(typeof(MyObject)); MyObject subReq = new MyObject(); string xml = ""; using (var sww = new StringWriter()) { using (XmlWriter writer = XmlWriter.Create(sww)) { xsSubmit.Serialize(writer, subReq); xml = sww.ToString(); } }</code>
此代码将创建 subReq
对象的 XML 表示形式,并将其赋值给 xml
变量。
泛型类序列化
如果需要序列化各种类的对象,可以创建一个封装序列化逻辑的泛型类,如下所示:
<code class="language-csharp">public class MySerializer<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>
要使用此泛型类,只需调用 Serialize
方法并提供要序列化的对象:
<code class="language-csharp">string xmlMessage = MySerializer<MyClass>.Serialize(myObj);</code>
这种方法允许对不同类进行更灵活和可重用的序列化逻辑。
以上是如何使用XMLSerialializer将对象序列化到C#中的XML?的详细内容。更多信息请关注PHP中文网其他相关文章!