【问题标题】:how to read a file in batches/parts/1000 lines at a time如何一次以批量/部分/ 1000行读取文件
【发布时间】:2023-04-07 19:54:01
【问题描述】:

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

我一直在研究流读取器、xmlreaders 和文件流,我看到一些提到在处理数据时保持流打开以获得我需要的东西,但我似乎无法理解它。

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

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

【问题讨论】:

  • 这将很难批量进行。如果一个 XML 元素在两个批次之间拆分怎么办?
  • 嗯,阅读这些文件的一个想法只是列出我解决问题的想法。

标签: c# xml filestream streamreader xmlreader


【解决方案1】:

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

例如 - 如果你的结构看起来像这样:

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

您必须编写代码来读取数字“项目”块(您希望批量处理的数量),然后将它们转换为有效的 XML 文档以供进一步处理。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 2020-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多