在.net中读取大型XML文档
本文关键字:XML 文档 大型 读取 net | 更新日期: 2023-09-27 18:10:45
我需要使用。net文件读取大型xml,这些文件很容易达到几个GB的大小。
我试图使用XDocument,但它只是抛出一个系统。当我尝试加载文档时,OutOfMemoryException .
读取大容量XML文件的最高效方法是什么?
你基本上必须在这里使用"拉"模型- XmlReader
和朋友。这将允许您流式传输文档,而不是一次将所有文档加载到内存中。
注意,如果你知道你在一个"足够小"的元素的开始,你可以从一个XmlReader
创建一个XElement
,使用LINQ to XML的荣耀来处理它,然后移动到下一个元素。
下面的页面读起来很有趣,它提供了一种从XML文件中挖掘数据而不将其加载到内存中的方法。它允许您将XmlReader的速度与Linq:
的灵活性结合起来。http://msdn.microsoft.com/en-us/library/bb387035.aspx还有一篇基于这种技术的有趣文章:
http://blogs.msdn.com/b/xmlteam/archive/2007/03/24/streaming -与- linq - - xml - - 2.部分aspx
您可以尝试使用XmlTextReader
实例。