gpt4 book ai didi

c# - 反序列化 XML 文件的最有效方法是什么

转载 作者:行者123 更新时间:2023-11-30 14:44:24 24 4
gpt4 key购买 nike

你好,

我有一个 8MB 的 XML 文件,我想反序列化。 我正在使用这段代码:

public static T Deserialize<T>(string xml)
{
TextReader reader = new StringReader(xml);
Type type = typeof(T);
XmlSerializer serializer = new XmlSerializer(type);
T obj = (T)serializer.Deserialize(reader);
return obj;
}

此代码运行大约一分钟,对我来说似乎相当慢。我尝试使用 sgen.exe 预编译序列化 dll,但这并没有改变性能。

我还有哪些其他选择可以提高性能?

[编辑] 我需要反序列化创建的对象来执行(基本)转换。 XML 是从外部网络服务接收的。

最佳答案

XmlSerializer 使用反射,因此如果性能有问题,则不是最佳选择。

您可以使用 XmlDocument 构建 XML 文档的 DOM或 XDocument类并使用它,或者更快地使用 XmlReader . XmlReader但是需要您自己编写任何对象映射(如果需要)。

哪种方法最好完全取决于您要对 XML 数据执行的操作。您是只需要提取某些值,还是必须处理和编辑整个文档对象模型?

关于c# - 反序列化 XML 文件的最有效方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/511322/

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