Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 读取XML的最快/最佳方法_C#_Xml - Fatal编程技术网

C# 读取XML的最快/最佳方法

C# 读取XML的最快/最佳方法,c#,xml,C#,Xml,我需要读取可能较大(约300mb)的XML文件,并编辑一些节点。基本上,我需要: 从一开始就读取XML 每当我找到一个名为trgt的节点时 添加一些文本到它 在C#中实现这一点的最佳方式是什么?我应该使用哪些XML类来查找和编辑需要更改的节点 TIA根据我转换一些非常大(2GB+)的xml文件(不要问!)的经验,我发现xsl转换是最快的-与您可能尝试的任何手动循环等相比,所涉及的引擎针对此类任务进行了大量优化。如果这是一个相当简单的操作,类似于查找和替换,您可以尝试将其视为普通文本文件,而不

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

  • 从一开始就读取XML
  • 每当我找到一个名为trgt的节点时
  • 添加一些文本到它
在C#中实现这一点的最佳方式是什么?我应该使用哪些XML类来查找和编辑需要更改的节点


TIA

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

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

您可以使用。简而言之,使用
Linq
读取、解析和添加数据。这不是最快的代码,但可能是编写最快的代码


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

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

您知道,我认为您是对的。虽然XSLT可能会吓唬一些人。尽管大多数转换都相对简单,但这是公平的评论,而且您可以随时发布问题!哪个xsl引擎是如此优化的?令人印象深刻-这绝对是我将要看到的东西。谢谢确保您在回答中声明这是您自己的产品,以免被视为垃圾邮件。