【发布时间】:2013-01-23 16:30:18
【问题描述】:
可能重复:
Is there a built-in way to handle multiple files as one stream?
我将大量连续数据拆分为多个文件。使用 XmlDocument 或 LINQ 不是选项,因为这些文件很大,无法将 500GB 加载到内存中。
因此我必须使用 XmlReader。
我拥有的文件在 XML 意义上是碎片化的,例如:
文件 1:
...
<Person>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
文件 2:
<Email>john@doe.com</Email>
</Person>
...
一个潜在的解决方案是我需要一种方法来设置流,例如:
using (XmlReader reader = XmlReader.Create(stream)) { ... }
使得流连续不断地为 XmlReader 提供每个文件。因此,当流到达文件末尾时,它会自动将下一个文件提供给它。我将如何做到这一点?所以对于 XmlReader 来说,它看起来只是在遍历一个大流,但该流是由多个连续文件组成的?
谢谢,
艾莉森
【问题讨论】:
-
我讨厌投票结束,因为这是一个写得很好的问题,但我的回答只是复制和粘贴链接的问题。
标签: c# xmlreader memorystream