将大型xml文件拆分为子文件而不会造成内存争用

Uma*_*ran 6 c# xml

我有一个像以下的XML

<Jobs>
   <job>
   ....
   </job>
   <job>
   ....
   </job>
   ....
</Jobs>
Run Code Online (Sandbox Code Playgroud)

现在,在不使用xmlreader和xmlwriter或任何其他选项将整个文件放入内存的情况下,在单独的文件中编写每个作业节点的最佳方法是什么?

dtb*_*dtb 3

  1. 为输入文件创建 XmlReader。
  2. 将读者定位在第一个工作元素上。
  3. 使用ReadSubtree Method创建子树 XmlReader 。
  4. 为输出文件创建 XmlWriter。
  5. 使用WriteNode Method将子树 XmlReader 的内容复制到 XmlWriter 中。
  6. 将原始阅读器放置在下一个作业元素上,然后像第一个作业元素一样继续。
    如果没有更多工作元素可供读取,则中断。