我需要使用.net文件读取大型xml,该文件的大小很容易达到几GB。

我尝试使用XDocument,但是当我尝试加载文档时,它只会引发System.OutOfMemoryException。

读取大尺寸XML文件最有效的方法是什么?

最佳答案

您基本上必须在这里使用“拉”模型- XmlReader 和 friend 。这样一来,您就可以流式传输文档,而不必一次将其全部加载到内存中。

请注意,如果您知道自己处在“足够小的”元素的开头,则可以创建一个 XElement from an XmlReader ,使用LINQ to XML的荣耀来处理它,然后移至下一个元素。

关于c# - 在.net中读取大型XML文档,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7671958/

10-09 18:41