2010-12-23 70 views
0

小的子集我有一个数据表中序列化为XML。它有1000条记录。使用DataTable的ReadXml方法有效,但速度很慢。我只对前100条记录感兴趣。有没有办法读取文件,提取前100个记录,并使用ReadXml方法加载?如何使用数据表的ReadXml读取大型XML文件

+0

听起来像XPath的选择 – Treemonkey 2010-12-23 13:39:19

回答

1

尝试这样的事情!

XmlDocument doc = new XmlDocument(); 
doc.Load("c:\\testfile2.xml"); 
foreach (XmlNode nd in doc.DocumentElement.SelectNodes("xml/entry")) 
{ 
... 
} 

IM不起来点网所以这可能是不同的..

也请看看这个链接http://msdn.microsoft.com/en-us/library/ms998559.aspx

+0

不幸的是一份工作,没有性能优势为doc.Load读取整个文件...我正在寻找一些方法,我可以流的文件...即读一点点它并将其中的所有节点添加到内存中的对象。当我的新文档中有100个节点时,请停止加载。 – tardomatic 2010-12-23 13:55:07

1

我相信你可以使用从System.Xml.XmlReader派生类的一个顺序读取该文件而不是将整个文件加载到内存中。

相关问题