【发布时间】:2013-04-03 16:21:18
【问题描述】:
只是好奇,在 C# 和 .NET 4.5 中创建/生成 XLIFF(甚至只是 xml)文件(在我的情况下是从 Excel 数据)的最佳实践是什么? 有几个选项可用,但我想知道(最好讨论)哪一个在效率方面更可取。
- XmlDocument
- XmlWriter & XmlSerializer
- XDocument
- XmlTextWriter
- 等等
【问题讨论】:
只是好奇,在 C# 和 .NET 4.5 中创建/生成 XLIFF(甚至只是 xml)文件(在我的情况下是从 Excel 数据)的最佳实践是什么? 有几个选项可用,但我想知道(最好讨论)哪一个在效率方面更可取。
【问题讨论】:
如果您不需要将文档保存在内存中,请使用 XmlWriter (and not XmlTextWriter) 如果您希望能够在加载后修改文档,请使用 XDocument (Linq to Xml)
您可能还想看看我前段时间写的比较不同 Xml API 的帖子:http://blogs.msdn.com/b/xmlteam/archive/2011/09/14/effective-xml-part-1-choose-the-right-api.aspx
【讨论】:
XmlWriter 似乎是更好的方法。不,我不必修改文档,简单的过程只需将 Excel 转换为 XLIFF 在某个预定义的 xml 结构中,谢谢
XmlWriter 可能是最快的,但这就像你可以用 C# 编写程序集一样。我会远离可读性。
我不喜欢 XmlTextWriter,在我看来你还是坚持使用 XmlWriter。
XmlDocument 有很多开销。几乎任何你想做的事情都太慢了。
我不信任也不喜欢 XmlSerializer。在我看来,它总是很脆弱。未来的开发人员可能会在不知不觉中通过更改一些类定义来搞砸事情。
XDocument 非常好。我之前尝试过针对 XDocument 对 XmlReader/XmlWriter 进行速度测试,两者的性能通常非常接近,以至于我几乎在所有情况下都推荐 XDocument。我说几乎是因为 XmlReader/XmlWriter 在技术上仍然是我发现的读取/写入 xml 的最快方法。
【讨论】: