首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将C#对象序列化为XML -最快的方式?

将C#对象序列化为XML -最快的方式?
EN

Stack Overflow用户
提问于 2013-01-21 17:50:32
回答 2查看 4.6K关注 0票数 2

我有一个将c#对象序列化为xml文件的应用程序。我目前使用的是.Net XmlSerializer。

我的问题是,我需要序列化大约8000个主节点(每次有4-10个子节点),目前我需要大约15-20分钟来序列化所有这些节点。

我必须保持相同的XML输出,因为文件是由另一个程序读取的,而不是我的程序,并且我不能让它们改变读取文件的方式。

我做了一些搜索,发现了很多比较,但它们都涉及到使用protobuf-net,它有一个二进制序列化。

所以我的问题是:如何改善序列化时间?另一个串行器?向我的模型添加更多属性(目前我只有XmlName,列表也是如此)。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-21 17:55:12

看看下面的链接,这里有几个提高XML序列化性能的技巧

http://msdn.microsoft.com/en-us/library/ff650685.aspx

如果您可以更改组件的逻辑,我将使用数据库来存储如此大的XML,因为没有进行序列化来存储非常大的XML文件

票数 2
EN

Stack Overflow用户

发布于 2016-04-06 07:28:47

由于瓶颈可能是大字符串处理,因此您可能需要考虑直接写入FileStream的手写代码。如果您喜欢冒险,也可以尝试为CGbR Project生成代码编写IGenerator。但只有当你有许多不同的类时,这才有意义。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14436025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档