2013-03-28 69 views
1

我目前正在尝试制作一种可处理大型XML文件读取的方法。我需要的是一种可以一次加载1000行或者小批量加载的方法。如何一次读取批量/部分/ 1000行的文件

我一直在寻找streamreaders,xmlreaders和filestreams,我已经看到一些提到只是在处理数据时保持流打开来获得我需要的东西,但我似乎无法让我的头绕它。

我花了很长时间检查类似的问题,但似乎可以找到任何帮助我的东西。

ps。首先想到我正在考虑围绕readline做一个for循环到1000的计数器,但似乎无法弄清楚如何从1000行继续读取另外1000个文件直到文件结束。

+1

这将是很难做到成批。如果一个XML元素在两个批次之间分裂,该怎么办? – 2013-03-28 10:53:12

+0

这是一个想法来阅读这些文件只是列出我的想法来解决我的问题。 – user2169674 2013-03-28 10:57:48

回答

0

我的感觉是,他将需要一个自定义的XML阅读器实现。

例如 - 如果您的结构看起来是这样的:

root 
    item 
     stuff 
    /item 
    item 
     stuff 
    /item 
    item 
     stuff 
    /item 
    item 
     stuff 
    /item 
/root 

你必须编写代码,读了一些“项目”块(多达宥希望在一个批次处理),并然后将它们转换为有效的XML文档以供进一步处理。

但是,如果您的XML文档是一个庞大的庞大实体 - 我不认为有任何优雅的方式可以处理它。