使用C#/ .NET读/写XML

使用C#/ .NET读取/写入XML的最佳function,实践和/或技术是什么?

有些类可以读取XML:

  • XmlDocument速度慢且占用大量内存:它解析XML并将其加载到内存中,如果你想编辑它,这很好。
  • XmlReader的内存密集度较低:它从前到后扫描XML,从不需要将所有内容保存在RAM中。

同样,对于编写,您可以构造一个XmlDocument ,然后保存它,或使用XmlWriter


在我编写完上述内容之后,现在有一组更易于使用的新API:例如XDocumentXElement类。

如果您使用的是.NET 3.5,那么LINQ to XML肯定是与XML交互的一种非常好的方式。

MSDN链接

到目前为止,我在C#中处理XML的最简单方法是使用XML序列化工具。 例如: http : //www.dotnetjohn.com/articles.aspx?articleid = 173 。

实际上,您可以定义与XML文件匹配的C#类(实际上,如果您有XML定义文件,可以为它们创建它们),然后直接从XML文件初始化这些类的实例。 将它们作为实例后,您可以根据需要对它们进行操作,并将它们重新编写回XML文件中。

在性能关键的应用程序中,为了简单起见,XmlReader / XmlWriter是一个很好的选择(参见这里 ),Linq提供给XML和XmlDocument。

我发现MvpXml项目在考虑性能的过去场景中非常有用。 在项目页面中有很多关于良好实践的知识: http : //www.codeplex.com/MVPXML