最快/最好的读取XML的方法

6

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

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

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

TIA

4个回答

4

VTD-XML是唯一支持增量更新功能的XML解析库,同时它也具有内存效率和高性能。但它需要作为第三方库下载。


很不错 - 这绝对是我会关注的东西。谢谢! - Jimmy Collins
请确保在回答中声明这是您自己的产品,以免被视为垃圾邮件。 - ArtOfCode

3

根据我的经验,在转换一些非常大(2GB +)的XML文件时(不要问为什么!),我发现XSL转换是最快的 - 涉及的引擎针对此类任务进行了大量优化,与您可能尝试的任何手动循环等相比。


你知道吗,我认为你是对的。虽然XSLT可能会让一些人感到害怕。 - ChaosPandion
2
公正的评论,虽然大多数转换相对简单,但您总是可以在SO上发布问题! - Jon Egerton
哪个XSL引擎是如此优化的? - vtd-xml-author

3
你可以使用Linq-to-XML。简而言之,使用XDocument读取,使用Linq解析和添加数据。这不会是最快的代码,但可能是最快写出来的代码。
如果有内存限制,你可能需要手动解析它(即仅将部分加载到内存中,处理该部分,然后在文件中替换它)。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接