2010-12-23 53 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派生類的一個順序讀取該文件而不是將整個文件加載到內存中。

相關問題