c# - 反序列化 XML 文件而不将其全部加载到内存中

标签 c# .net performance memory-management xml-serialization

假设您的应用程序使用 XmlSerializer 序列化对象。当应用程序的另一部分(例如外部服务或其他组件)处理该 xml 文件时,您会返回一个巨大的 xml 文件,该文件是一个巨大对象的序列化。

您在不填充服务器内存的情况下反序列化和处理该响应的方法是什么?

我通常更喜欢使用XmlSerializer,但是当我不得不与这些怪物战斗时,我没有防弹解决方案。我已经阅读了 XNode.ReadFrom,但我想知道使用这种方法是否可以像流式反序列化一样完成。

谢谢,
马可

最佳答案

我使用最快的可用 XML 解串器。你可以在这里找到很好的比较。 sharpSerializer 似乎最快。

http://www.sharpserializer.com/en/index.html

关于c# - 反序列化 XML 文件而不将其全部加载到内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14498356/

相关文章:

C# Collection<T>.Remove(T item) 尽管对象数据相等但不起作用

c# - 如何在数据集中搜索特定数据

.net - 如何打包针对通用Windows平台的.NET库?

javascript - 是否可以在提交前从文本框中检索值?

c# - 防止在 ObservableCollection.CollectionChanged 事件上添加新项目

performance - 计算嵌套for循环的时间复杂度

performance - 与 Redis 相比,memcached 是恐龙吗?

c# - 如何在没有具体实例的情况下使用反射获取类型的静态属性的值

c# - wpf 属性网格

java - 有什么优化技术可以在 bean 中设置数组值吗?