【发布时间】:2009-01-14 18:23:06
【问题描述】:
使用 C#/.NET 读取/写入 XML 的最佳功能、实践和/或技术是什么?
【问题讨论】:
使用 C#/.NET 读取/写入 XML 的最佳功能、实践和/或技术是什么?
【问题讨论】:
如果您正在使用 .NET 3.5,LINQ to XML 无疑是与 XML 交互的一种非常好的方式。
【讨论】:
有读取XML的类:
XmlDocument 速度慢且占用大量内存:它解析 XML 并将其加载到内存中的 DOM 中,如果您想对其进行编辑,这很好。XmlReader 占用的内存较少:它从头到尾扫描 XML,无需一次将所有内容保存在 RAM 中。同样,对于写作,您可以构造一个XmlDocument 然后保存它,或者使用XmlWriter。
在我写完上述内容后,现在有一组新的 API 更易于使用:例如 XDocument 和 XElement 类。
【讨论】:
到目前为止,我发现在 C# 中处理 XML 的最简单方法是使用 XML 序列化工具。例如:http://www.dotnetjohn.com/articles.aspx?articleid=173。
基本上,您可以定义与您的 XML 文件匹配的 C# 类(事实上,如果您有 XML 定义文件,您可以为您创建它们),然后您只需直接从 XML 文件初始化这些类的实例。将它们作为实例后,您可以随意操作它们并将它们重新写入 XML 文件。
【讨论】:
在性能关键的应用程序中,XmlReader/XmlWriter 是一个不错的选择(请参阅here),因为 Linq to XML 和 XmlDocument 提供了简单性。
【讨论】:
我发现 MvpXml 项目在过去考虑性能的场景中非常有用。他们的项目页面中有大量关于良好实践的知识:http://www.codeplex.com/MVPXML
【讨论】: