可能重复:
是否有一种内置方法可以将多个文件作为一个流处理?
我有大量的连续数据分成多个文件。使用 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 来说,它看起来只是在遍历一个大流,但该流是由多个连续文件组成的?
谢谢,
艾莉森