在C#的XmlReader中读取多个连续的XML文件

时间:2013-01-23 16:30:19

标签: c# xmlreader memorystream

  

可能重复:
  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,它看起来只是迭代一个大流,但该流由多个连续文件组成?

谢谢,

艾里

1 个答案:

答案 0 :(得分:0)

Linq to xml会在早餐时吃掉大量的xml文件。

你知道http://msdn.microsoft.com/en-us/library/system.xml.linq.xnode.readfrom.aspx吗?