gpt4 book ai didi

c# - 将类转换为 XML 的最快方法是什么

转载 作者:太空宇宙 更新时间:2023-11-03 18:47:01 25 4
gpt4 key购买 nike

我想知道将相当大的类转换为 XML 的最快和最轻量级的技术是什么。该类将包含列表和数组。我需要将所有这些数据转换为 XML

这是我的应用程序的作用:它将使用 linq to enties 从数据库中获取所有信息。然后将数据存储在一个类中。然后我想将此类转换为 XML。当数据是 XML 格式时,我会将 XML 连同 xsl 样式表一起发送到浏览器以显示给用户。最快的方法是什么。

最佳答案

XmlSerializer 实际上创建了一个程序集(带有 XmlSerializationWriter ),该程序集是为序列化您的类而定制的。可以关注these steps查看生成的代码.

您只需在第一次遇到新类型时付出代价。

所以我认为您真的应该使用 XmlSerializer,不仅是为了性能,也是为了可维护性。

您可以使用 mixin-like序列化器类:

public interface MXmlSerializable { } 
public static class XmlSerializable {
public static string ToXml(this MXmlSerializable self) {
if (self == null) throw new ArgumentNullException();
var serializer = new XmlSerializer(self.GetType());
using (var writer = new StringWriter()) {
serializer.Serialize(writer, self);
return writer.GetStringBuilder().ToString();
}
}
}

public class Customer : MXmlSerializable {
public string Name { get; set; }
public bool Preferred { get; set; }
}

// ....

var customer = new Customer {
Name = "Guybrush Threepwood",
Preferred = true };
var xml = customer.ToXml();

关于c# - 将类转换为 XML 的最快方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3472821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com