split xml document into chunks

后端 未结 3 575
慢半拍i
慢半拍i 2021-01-07 03:26

I have a large xml document that needs to be processed 100 records at a time

It is being done within a Windows Service written in c#.

The structure is as fo

3条回答
  •  猫巷女王i
    2021-01-07 03:31

    Naive, iterative, but works [EDIT: in .NET 3.5 only]

        public List ChunkDocket(XDocument docket, int chunkSize)
        {
            var newDockets = new List();
            var d = new XDocument(docket);
            var orders = d.Root.Elements("order");
            XDocument newDocket = null;
    
            do
            {
                newDocket = new XDocument(new XElement("docket"));
                var chunk = orders.Take(chunkSize);
                newDocket.Root.Add(chunk);
                chunk.Remove();
                newDockets.Add(newDocket);
            } while (orders.Any());
    
            return newDockets;
        }
    

提交回复
热议问题