读取XML的最快/最佳方式

时间:2011-03-15 20:37:34

标签: c# xml

我需要读取可能很大(~300mb)的XML文件,并编辑一些节点。基本上我需要:

  • 从头开始阅读XML
  • 每当我找到一个名为trgt
  • 的节点时
  • 添加一些文字

在C#中处理此问题的最佳方法是什么?我应该使用哪些XML类来查找和编辑我需要更改的节点?

TIA

4 个答案:

答案 0 :(得分:4)

VTD-XML是唯一支持称为增量更新功能的XML解析库。它还具有内存效率和高性能。但它要求您将其作为第三方lib下载。

答案 1 :(得分:3)

根据我转换一些非常大的(2GB +)xml文件的经验(不要问!)我发现xsl变换是最快的 - 所涉及的引擎都针对这些任务进行了大量优化,与任何手动循环等相比你可能尝试。

答案 2 :(得分:3)

您可以使用Linq-to-XML。简而言之,请使用XDocument阅读,使用Linq解析和添加数据。这不是最快的代码,但可能是最快的代码。

如果你有内存限制,你可能需要手动解析它(即只加载部分内存,处理该部分,将其替换为文件)

答案 3 :(得分:2)

如果这是一个类似于查找和替换的相当简单的操作,您可以尝试将其视为普通文本文件而不是xml文档。我想这可能比所有xml解析更快。